"渗透测试的本质是信息收集"
"此篇文章用作介绍拿到Webshell之后的一些针对内网的操作,不包含对域控的信息收集,目的是将主机信息收集最大化,从而加大横向的力度"
当从Web端拿到webshell之后,对服务器主机的了解几乎是0,应从内往外一步步的收集服务器的相关信息,首先要对主机当前所处的网络环境进行判断,通常来说分为3种:
方法一:
for /l %i in (1,1,255) do @ ping 172.16.80.%i -w 1 -n 1|find /i "ttl="
方法二:
@echo
md C:\Windows\Temp\1\
echo ok > C:\Windows\Temp\1\gatway.txt
FOR /L %%I in (1,1,254) do ping 192.168.%%I.1 -n 1 -w 10 | findstr "TTL">>C:\Windows\Temp\1\gatway.txt
FOR /L %%I in (1,1,254) do ping 10.%%I.1.1 -n 1 -w 10 | findstr "TTL">>C:\Windows\Temp\1\gatway.txt
FOR /L %%I in (1,1,254) do ping 172.16.%%I.1 -n 1 -w 10 | findstr "TTL">>C:\Windows\Temp\1\gatway.txt
FOR /L %%I in (1,1,254) do ping 172.%%I.1.1 -n 1 -w 10 | findstr "TTL">>C:\Windows\Temp\1\gatway.txt
FOR /L %%I in (1,1,254) do ping %%I.%%I.%%I.1 -n 1 -w 10 | findstr "TTL">>C:\Windows\Temp\1\gatway.txt
FOR /L %%I in (1,1,254) do ping 192.168.%%I.254 -n 1 -w 10 | findstr "TTL">>C:\Windows\Temp\1\gatway.txt
FOR /L %%I in (1,1,254) do ping 10.%%I.1.254 -n 1 -w 10 | findstr "TTL">>C:\Windows\Temp\1\gatway.txt
FOR /L %%I in (1,1,254) do ping 172.16.%%I.254 -n 1 -w 10 | findstr "TTL">>C:\Windows\Temp\1\gatway.txt
FOR /L %%I in (1,1,254) do ping 172.%%I.254.254 -n 1 -w 10 | findstr "TTL">>C:\Windows\Temp\1\gatway.txt
FOR /L %%I in (1,1,254) do ping %%I.%%I.%%I.254 -n 1 -w 10 | findstr "TTL">>C:\Windows\Temp\1\gatway.txt
方法三:
@echo offrem 内网存活段自动发现脚本 [Windows]
setlocal enabledelayedexpansion
for /l %%i in (0,1,255) do (
for /l %%k in (0,1,255) do (
ping -w 1 -n 1 10.%%i.%%k.1 | findstr "TTL=" >nul || ping -w 1 -n 1 10.%%i.%%k.254 | findstr "TTL=" >nul
if !errorlevel! equ 0 (echo 10.%%i.%%k.0/24 is alive ! >> alive.txt ) else (echo 10.%%i.%%k.0/24 May be sleeping ! )
)
)
for /l %%s in (16,1,31) do (
for /l %%d in (0,1,255) do (
ping -n 1 -w 1 172.%%s.%%d.1 | findstr "TTL=" >nul || ping -w 1 -n 1 172.%%s.%%d.254 | findstr "TTL=" >nul
if !errorlevel! equ 0 (echo 172.%%s.%%d.0/24 is alive ! >> alive.txt ) else (echo 172.%%s.%%d.0/24 May be sleeping ! )
)
)
for /l %%t in (0,1,255) do (
ping -n 1 -w 1 192.168.%%t.1 | findstr "TTL=" >nul || ping -n 1 -w 1 192.168.%%t.254 | findstr "TTL=" >nul
if !errorlevel! equ 0 (echo 192.168.%%t.0/24 is alive ! >> alive.txt ) else (echo 192.168.%%t.0/24 May be sleeping ! )
)
方法四:powershell
$ip = "172.20.10."
for ($i = 1; $i -lt 255; $i ++){
# get each ip
$cur = $ip + $i
# ping once
ping -n 1 $cur | Out-Null
if ($LASTEXITCODE -eq 0) {
Write-Host "$cur online"
} else {
Write-Host "$cur dead"
}
}
1.PowerShell端口扫描器:针对单个IP的多个端口的扫描
1..1024 | % {echo ((new-object Net.Sockets.TcpClient).Connect("172.20.10.1",$_)) "Port $_ is open!"} 2>$null
2.Test-Netconnection 针对某IP段中单个端口的扫描
foreach ($ip in 1..20) {Test-NetConnection -Port 80 -InformationLevel "Detailed" 172.20.10.$ip}
Test-NetConnection命令是在 **4.0 **版本的PowerShell中才引入的。
3.针对某IP段 & 多个端口的扫描器
1..20 | % { $a = $_; 1..1024 | % {echo ((new-object Net.Sockets.TcpClient).Connect("172.20.10.$a",$_)) "Port $_ is open!"} 2>$null}
4.针对某IP段 & 指定多个端口的扫描器
1..20 | % { $a = $_; write-host "------"; write-host "172.20.10.$a"; 22,53,80,445 | % {echo ((new-object Net.Sockets.TcpClient).Connect("10.0.0.$a",$_)) "Port $_ is open!"} 2>$null}
常见的端口及服务
21、69 | FTP\TFTP | 弱口令\嗅探 |
---|---|---|
22 | SSH | 弱口令 |
23 | telnet | 弱口令、嗅探、探测 |
25 | SMTP | 邮件 |
53 | DNS | 区域传送、dns欺骗、域控 |
67、68 | DHCP | 劫持、欺骗 |
80、443、8080 | WEB应用 | 弱口令、WEB攻击 |
7001、7002 | weblogic | 反序列化、弱口令 |
8080、8089 | jboss、jenkins | 反序列化、弱口令 |
9090 | websphere | 反序列化、弱口令 |
110 | POP3 | 爆破、嗅探 |
139、445 | samba | 未授权访问、远程代码执行 |
143 | IMAP | 爆破 |
161 | SNMP | 爆破、信息泄露 |
389 | LDAP | 弱口令、匿名访问 |
3389 | RDP | 爆破、远程代码执行 |
5900 | VNC | 弱口令 |
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 | 匿名访问 |
888、8888 | 宝塔 | 宝塔后门、弱口令 |
wmic OS get Caption,CSDVersion,OSArchitecture,Version!
whoami/all
query user
whoami/user
whoami/priv
systeminfo 查看KB号
wmic qfe get Caption,Description,HotFixID,InstalledOn 查看安装的补丁 提权辅助网页
根据补丁查找exp http://bugs.hacking8.com/tiquan/
DNS服务器:nslookup
DNS缓存:ipconfig /displaydns
type c:\Windows\system32\drivers\etc\hosts
dir /a /s /b d:\"*.txt"
dir /a /s /b d:\"*.xml"
dir /a /s /b d:\"*.mdb"
dir /a /s /b d:\"*.sql"
dir /a /s /b d:\"*.mdf"
dir /a /s /b d:\"*.eml"
dir /a /s /b d:\"*.pst"
dir /a /s /b d:\"*conf*"
dir /a /s /b d:\"*bak*"
dir /a /s /b d:\"*pwd*"
dir /a /s /b d:\"*pass*"
dir /a /s /b d:\"*login*"
dir /a /s /b d:\"*user*"
ipconfig /all
netstat -ano
arp -a
route print
tracert
Tomcat、Nginx、Apache、web.config等配置文件
可以查看进程是否有 mysql,nginx,Apache,redis等敏感服务tasklist /svc
or wmic process list brief
进程杀软对比工具-avlist https://github.com/gh0stkey/avList/
wmic service list brief
查看是否开启DHCP或其他第三方服务
wmic product get name,version
powershell "Get-WmiObject -class Win32_Product |Select-Object -Property name,version
查看已安装程序,判断机器作用及价值,如安装了VMware vSphere Client或者xshell,ftp等,就可以去提取账号口令了
set 这个没什么好说的,看看主机有无Java,Perl,Python等环境,尽可能的收集信息
schtasks /query
wmic startup get command,caption
REG QUERY HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
REG QUERY HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
cmdkey /list
netsh advfirewall show allprofiles
C:\Users[User]\AppData\Roaming\Microsoft\Windows\Recent
list
https://github.com/GhostPack/Seatbelt 爬取浏览器收藏夹等机器其他敏感资产https://github.com/moonD4rk/HackBrowserData hackbrowserdata 是一个解密浏览器数据(密码|历史记录|Cookies|书签)的导出工具,支持全平台主流浏览器https://github.com/AlessandroZ/LaZagne LaZagne项目是用于开源应用程序获取大量的密码存储在本地计算机上
欢迎补充...
E
N
D
关
于
我
们
Tide安全团队正式成立于2019年1月,是新潮信息旗下以互联网攻防技术研究为目标的安全团队,团队致力于分享高质量原创文章、开源安全工具、交流安全技术,研究方向覆盖网络攻防、系统安全、Web安全、移动终端、安全开发、物联网/工控安全/AI安全等多个领域。
团队作为“省级等保关键技术实验室”先后与哈工大、齐鲁银行、聊城大学、交通学院等多个高校名企建立联合技术实验室,近三年来在网络安全技术方面开展研发项目60余项,获得各类自主知识产权30余项,省市级科技项目立项20余项,研究成果应用于产品核心技术研究、国家重点科技项目攻关、专业安全服务等。对安全感兴趣的小伙伴可以加入或关注我们。