本系列文章为作者平时学习内网渗透中所学汇总记录,难免会有错误和不当之处,有相关问题可以留言指正。此系列文章准备从内网渗透中信息收集、内网穿透、横向移动、权限维持、内网潜伏与反制等方面进行学习。
现阶段内网往往还是比较脆弱的,由于种种原因,内网中win XP,win 7,winserver 2003,winserver 2008还是有很多的,而且往往还存在种种高危风险,但内网中的主机防护软件和设备也是一道关卡,想要在内网中摸爬滚打,信息收集是一个重点。
拿到一台windows服务器主机之后,我们要做什么,当然是敲whoami啦!
1、搞清楚位置
2、网络环境判断
现在对于主机的系统信息收集往往已经自动化,工具化,直接上传相关脚本执行即可,但是身为菜鸡,还是需要了解相关常用命令及其含义的。
1、systeminfo
这个命令往往可以告诉我们一些基本信息,有一些检查KB号进行提权利用的脚本也是通过这里获取的
wmic qfe get Caption,Description,HotFixID,InstalledOn //也可以使用wmic来识别安装在系统中的补丁情况
同时推荐使用https://github.com/bitsadmin/wesng,该工具可以根据systeminfo输出可利用的漏洞
2、netstat -ano
可以查看端口列表、本机开放的端口所对应的服务和应用程序。通过这些信息可以判断该服务器是做什么用的,正在和那些机器进行交互等。
其次一台主机上有多个远程管理或者数据库端口开放,要警惕其可能蜜罐。
常见的端口及服务
端口 | 服务 | 利用点 |
---|---|---|
21、69 | FTP\TFTP | 弱口令\嗅探 |
22 | SSH | 弱口令 |
23 | telnet | 弱口令、嗅探、探测 |
25 | SMTP | 邮件 |
53 | DNS | 区域传送、dns欺骗、域控 |
67、68 | DHCP | 劫持、欺骗 |
80、443、8000 | WEB应用 | 弱口令、WEB攻击 |
7001、7002 | weblogic | 反序列化、弱口令 |
8080、8089 | jboss、jenkins | 反序列化、弱口令 |
8983 | solr | RCE |
9090 | websphere | 反序列化、弱口令 |
110 | POP3 | 爆破、嗅探 |
139、445 | samba | 未授权访问、远程代码执行 |
143 | IMAP | 爆破 |
161 | SNMP | 爆破、信息泄露 |
389 | LDAP | 弱口令、匿名访问 |
3389 | RDP | 爆破、远程代码执行 |
5900 | VNC | 弱口令 |
6000 | X11 | 未授权访问 |
5632 | PcAnywhere | 嗅探、代码执行 |
3306 | mysql | 弱口令 |
1433 | msssql、sql server | 弱口令 |
1521 | oracle | 弱口令 |
5432 | pgsql | 弱口令 |
27017、27018 | mongodb | 未授权访问 |
6379 | redis | 未授权访问 |
5000 | sysbase/DB2 | 弱口令 |
11211 | memcached | 未授权访问 |
9200、9300 | elasticsearch | 远程代码执行 |
2181 | zookeeper | 未授权访问 |
8069 | zabbix | 远程执行 |
3690 | SVN | SVN泄露 |
873 | rsync | 匿名访问 |
2049 | NFS | 未授权访问 |
1090、1091、1099 | Java RMI | RCE |
8009 | tomcat-AJP | 文件包含、信息泄露 |
50070 | hadoop | Hadoop未授权访问 |
888、8443 | 防火墙管理 | 弱口令 |
3、ipconfig /all
会比单单的ipconfig输出更为详细的信息,可以获取主机相关网段及网络,dns等信息
4、查看已装程序信息
wmic product get name,version
powershell "Get-WmiObject -class Win32_Product |Select-Object -Property name,version"
查看已安装程序,判断机器作用及价值,如安装了VMware vSphere Client或者xshell等,那就可以去提取账号口令了
5、查看服务信息
wmic service list brief
查看服务信息的作用也是判断机器价值
6、查看进程列表
tasklist /v
查看杀软及相关进程服务
进程名 | 杀软 |
---|---|
360SD.exe | 360杀毒 |
HipsMain.exe | 火绒 |
SafeDog* | 安全狗 |
D_Safe* | D盾 |
yunsuo* | 云锁 |
hws* | 护卫神 |
avp.exe | 卡巴斯基 |
avcenter.exe | 小红伞 |
Mcshield.exe | McAfee |
QQPCRTP.exe | QQ电脑管家 |
*hids* | 主机防护类产品 |
7、查看启动项
wmic startup get command,caption
启动项往往包含最主要的业务服务
8、查看计划任务
schtasks /query /fo LIST /v
计划任务大多都是由软件自己建立的,可以通过这个分析其应用
9、查看用户信息,推测网络主机命名规律
net user
net localgroup administrators //查看本地管理员信息
query user || qwinsta //查看当前在线用户信息
(qwinsta)显示远程桌面会话主机(RD会话主机)服务器上的会话信息
10、查看共享信息
net share
wmic share get name,path,status
在装完windwos后会有一个自动共享功能,windows默认共享。
IPC$入侵也是一个老方法了,由于默认共享服务开启,在获取账户密码后,可以通过共享服务批量上传程序,然后通过计划任务执行上传的后门文件。(这个操作必定会在主机上留下日志文件)
具体可参考:https://www.cnblogs.com/sstfy/p/10414680.html#2608826650
https://www.cnblogs.com/tongnaifu/articles/588334.html
11、查询路由信息
route print //查询路由表
arp -A //ARP(地址解析协议)缓存表
12、查询防火墙信息
netsh firewall show config
firewall命令已弃用,建议使用advfirewall命令
netsh advfirewall firewall show rule name=all 查看配置规则
netsh advfirewall set allprofiles state off\on 关闭防火墙\开启防火墙
netsh advfirewall export\import xx.pol 导出\导入配置文件
netsh advfirewall firewall add rule name=”deny tcp 139″ dir=in protocol=tcp localport=139 action=block 新建规则阻止TCP协议139端口
netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow 新建规则允许3389通过防火墙
netsh advfirewall firewall delete rule name=Remote Desktop 删除名为Remote Desktop的规则
13、查看dns缓存信息
ipconfig /displaydns
1、查看域用户
net user /domain
2、查看域管理员
net group “domain admins” /domain
3、定位域控
net time /domain //主域服务器都做时间服务器
4、查看域控制器
net group “domaincontrollers” /domain
域信任
信任关系是连接在域与域之间的桥梁。当一个域与其他域建立了信任关系后,2个域之间不但可以按需要相互进行管理,还可以跨网分配文件和打印机等设备资源,使不同的域之间实现网络资源的共享与管理。
nltest /domain_trusts
域传送
当存在域传送漏洞时,可以获取域名解析记录。
nslookup -type=ns domain.com
nslookup
sserver dns.domain.com
ls domain.com
一些运维人员往往会将密码文件保存到桌面上,其次服务器上的应用配置文件也会泄露相关口令。
findstr /s /i "passwd" *.*
在当前目录及所有子目录下的所有文件中查找"passwd"这个字符串,*.*表示所有类型的文件
/s 在当前目录和所有子目录中搜索匹配的文件
/i 不区分大小写
/m 如果文件包含匹配项,仅打印该文件名
应用 | 配置文件路径 |
---|---|
tomcat | CATALINA_HOME/conf/tomcat-users.xml |
apache | /etc/httpd/conf/httpd.conf |
nginx | /etc/nginx/nginx.conf |
wdcp | /www/wdlinux/wdcp/conf/mrpw.conf |
mysql | mysql/data/mysql/user.MYD |
查看hosts文件
c:\Windows\system32\drivers\etc\hosts
1、wifi
通过以下命令获取连接过的wifi密码,企业认证的获取不到
for /f "skip=9 tokens=1,2 delims=:" %i in ('netsh wlan show profiles') do @echo %j | findstr -i -v echo | netsh wlan show profiles %j key=clear
2、常用软件保存密码的注册表地址
navicat:
MySQL | HKEY_CURRENT_USER\Software\PremiumSoft\Navicat\Servers<your connection name> |
---|---|
MariaDB | HKEY_CURRENT_USER\Software\PremiumSoft\NavicatMARIADB\Servers<your connection name> |
MongoDB | HKEY_CURRENT_USER\Software\PremiumSoft\NavicatMONGODB\Servers<your connection name> |
Microsoft SQL | HKEY_CURRENT_USER\Software\PremiumSoft\NavicatMSSQL\Servers<your connection name> |
Oracle | HKEY_CURRENT_USER\Software\PremiumSoft\NavicatOra\Servers<your connection name> |
PostgreSQL | HKEY_CURRENT_USER\Software\PremiumSoft\NavicatPG\Servers<your connection name> |
SQLite | HKEY_CURRENT_USER\Software\PremiumSoft\NavicatSQLite\Servers<your connection name> |
SecureCRT:
xp/win2003 | C:\Documents and Settings\USERNAME\Application Data\VanDyke\Config\Sessions |
---|---|
win7/win2008以上 | C:\Users\USERNAME\AppData\Roaming\VanDyke\Config\Sessions |
Xshell:
Xshell 5 | %userprofile%\Documents\NetSarang\Xshell\Sessions |
---|---|
Xshell 6 | %userprofile%\Documents\NetSarang Computer\6\Xshell\Sessions |
WinSCP:
WinSCP | |
---|---|
HKCU\Software\Martin Prikryl\WinSCP 2\Sessions |
VNC:
RealVNC | HKEY_LOCAL_MACHINE\SOFTWARE\RealVNC\vncserver | Password |
---|---|---|
TightVNC | HKEY_CURRENT_USER\Software\TightVNC\Server Value | Password or PasswordViewOnly |
TigerVNC | HKEY_LOCAL_USER\Software\TigerVNC\WinVNC4 | Password |
UltraVNC | C:\Program Files\UltraVNC\ultravnc.ini | passwd or passwd2 |
3、DPAPI
从Windows 2000开始,Microsoft随操作系统一起提供了一种特殊的数据保护接口,称为Data Protection Application Programming Interface(DPAPI)。其分别提供了加密函数CryptProtectData 与解密函数 CryptUnprotectData 以用作敏感信息的加密解密。
Dpapi采用的加密类型为对称加密,所以只要找到了密钥,就能解开物理存储的加密信息。
浏览器密码获取
mimikatz
4、GPP
当分发组策略时,会在域的SYSVOL目录下生成一个gpp配置的xml文件:Groups.xml,如果在配置组策略时填入了密码,则其中会存在加密过的账号密码。这些密码,往往都是管理员的密码。
该文件是通过网络传输到目标主机的。通过数据抓包,就可以截获该文件。然后使用Kali Linux提供工具gpp-decrypt来破解该密码。
5、本地凭证获取
在windows上,C:\Windows\System32\config目录保存着当前用户的密码hash。我们可以使用相关手段获取该hash。
Procdump
Quarks PwDump
WCE
6、域hash获取
当拿到域控权限时,可以从域控中的C:\Windows\NTDS\NTDS.dit导出所有用户hash。