用户
搜索
  • TA的每日心情
    开心
    2020-10-27 20:47
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    i春秋-脚本小子

    Rank: 2

    1

    主题

    2

    帖子

    84

    魔法币
    收听
    0
    粉丝
    1
    注册时间
    2020-3-15
    发表于 2021-3-13 20:09:36 38215
    本帖最后由 sibomSun 于 2021-3-13 20:12 编辑

    本文原创作者XXX,本文属i春秋原创奖励计划,未经许可禁止转载。

    导言


    网安菜鸡sibom打算开坑,学学内网,趁着最近难得有时间了,可以好好完善一下内网,争取把这个连载做下去。


    渗透的本质是信息搜集,内网打点后,不管是邮件打点、web打点还是其他奇奇怪怪的打点思路,我们都需要在获得一台机器的权限后提权渗透横向,在这过程中信息搜集就显得格外重要

    关于进入内网后的信息搜集

    本机信息搜集

    目的

    • 确定本机在内网中的角色
    • 确定本机在内网中的网络环境
    • 确定本机当前角色的判断  

    手动信息搜集

    思路捋清,以下全部内容都需要建成文件存至本地

    • 网络配置

      ipconfig /all  

    • 操作系统信息获取

      systeminfo

    • 安装软件的版本和安装位置

    wmic版

    wmic product get name,version

    powershell版

    powershell "Get-WmiObject -class Win32_Product | Select-Object -Property name,version"

    • 本机服务

    wmic版

    wmic service list brief

    • 查询进程列表

    cmd

    tasklist

    wmic版

    wmic process list brief

    常见的杀软进程
    进程 软件名称
    360sd.exe 360杀毒
    360tray.exe 360实时保护
    ZhuDongFangYu.exe 360主动防御
    KSafeTray.exe 金山卫士
    SafeDogUpdateCenter.exe 安全狗
    McAfee McShield.exe 迈克菲
    egui.exe NOD32
    AVP.EXE 卡巴斯基
    avguard.exe 小红伞
    bdagent.exe BitDefender
    • 查看计划任务

    schtasks /query /fo LIST /v  

    • 查看本机用户并确定身份

    net user

    • 查看用户是否在线

    query user || qwinsta

    另一种方式

    net session

    • 查看开放的端口

    netstat -ano

    • 查看补丁

    systeminfo

    或者使用wmic

    wmic qfe get Caption,Description,HotFixID,InstalledOn

    • 查看共享列表  

    net share

    • 查看路由表及可以ARP表  

    route print

    arp -a

    • 查看防火墙等相关配置

    (1) 关闭防火墙
    Win2003之前的版本

    netsh firewall set opmode disable

    Win2003之后的版本

    netsh advfirewall set allprofiles state off

    (2) 查看防火墙配置

    netsh firewall show config

    (3) 修改防火墙配置
    Win2003之前的版本,允许某应用全部连接

    netsh firewall add allowedprogram c:/nc.exe "allow nc" enable

    Win2003之后的版本:

    添加允许指定程序进入的规则:

    netsh advfirewall firewall add rule name="pass-nc" dir=in action=allow program="C://nc.exe"

    添加允许指定程序退出的规则:

    netsh advfirewall firewall add rule name="Allow nc" dir=out action=allow program="C://nc.exe"

    允许3389端口放行:

    netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow

    (4) 自定义防火墙日志的储存位置

    netsh advfirewall set currentprofile logging filename "C://Windows/Temp/firewall.log"

    • 查看并开启远程端口

    (1) 查看远程链接端口

    REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStation\RDP-Tcp" /v PortNumber

    通过注册表查看,查看到一个十六进制得值,但命令行好像不太行,中间有空格的地方识别不到


    自动信息搜集

    自行打造可用的自动化脚本

    也就是编写一个bat脚本,对上述提到的手工搜集的信息进行自动化搜集,并将结果写入一个txt文件或其他类型文件便于查看

    home.php?mod=space&uid=46675 off
    mode con: cols=18 lines=3
    :: 完善杀软自动识别 
    echo ************************************************************************
    echo sibom-sysinfo-cat
    echo Author :  sibomSun
    echo Last Updata:2020-11-11
    echo result will be save in a dir called  result  
    echo Auther email :c2lib21zdW5AMTYzLmNvbQ==
    echo ************************************************************************
    mkdir result
    ipconfig /all > result/ipconfig.txt
    tasklist > result/ps.txt
    net user > result/user.txt
    netstat -ano > result/port.txt
    netsh firewall show config > result/firewall.txt
    systeminfo > result/systeminfo.txt
    
    for %%i in (360sd.exe,360tray.exe,ZhuDongFangYu.exe,KSafeTray.exe,SafeDogUpdateCenter.exe,McAfee McShield.exe,egui.exe,AVP.EXE,avguard.exe,bdagent.exe) do (tasklist | findstr %%i >> result/secureps.txt)

    Win下简易搜集

    查看当前权限

    • 简单使用命令

    whoami /all

    查看当前用户信息SSID详细权限等

    • 查询用户在域内的详细信息

    net user XXX /domain

    若主机不位于域环境下,会产生报错

    判断域是否存在

    • 方法一

    第一步,查看本机的网络环境

    ipconfig /all

    第二步,若ipconfig结果在DNS等处存在域名,使用nslookup命令解析域名地址,对比解析的值和网关IP

    nslookup sibomSun.cn

    • 方法二

    直接查看sysinfo

    systeminfo

    结果中若域为WORKGROUP,为非域环境

    • 方法三

    有些情况下,域服务器和该机的时间同步服务器为同一台

    net time /domain

    若存在域但非域用户,返回拒绝访问

    若存在域且为域用户,返回成功

    若非域环境的工作组,返回找不到域

    探测域内存活主机

    利用NetBIOS快速探测内网

    工具-nbtscan

    多平台工具(WIN/LINUX),模拟正常的机器名解析与应答过程,无异常,可优先使用

    > nbtscan-v1.5.2.exe -h
    "Human-readable service names" (-h) option cannot be used without verbose (-v) option.
    Usage:
    nbtscan [-v] [-d] [-e] [-l] [-t timeout] [-b bandwidth] [-r] [-q] [-s separator] [-m retransmits] (-f filename)|(<scan_range>)
            -v              verbose output. Print all names received
                            from each host
            -d              dump packets. Print whole packet contents.
            -e              Format output in /etc/hosts format.
            -l              Format output in lmhosts format.
                            Cannot be used with -v, -s or -h options.
            -t timeout      wait timeout milliseconds for response.
                            Default 1000.
            -b bandwidth    Output throttling. Slow down output
                            so that it uses no more that bandwidth bps.
                            Useful on slow links, so that ougoing queries
                            don't get dropped.
            -r              use local port 137 for scans. Win95 boxes
                            respond to this only.
                            You need to be root to use this option on Unix.
            -q              Suppress banners and error messages,
            -s separator    Script-friendly output. Don't print
                            column and record headers, separate fields with separator.
            -h              Print human-readable names for services.
                            Can only be used with -v option.
            -m retransmits  Number of retransmits. Default 0.
            -f filename     Take IP addresses to scan from file filename.
                            -f - makes nbtscan take IP addresses from stdin.
            <scan_range>    what to scan. Can either be single IP
                            like 192.168.1.1 or
                            range of addresses in one of two forms:
                            xxx.xxx.xxx.xxx/xx or xxx.xxx.xxx.xxx-xxx.
    Examples:
            nbtscan -r 192.168.1.0/24
                    Scans the whole C-class network.
            nbtscan 192.168.1.25-137
                    Scans a range from 192.168.1.25 to 192.168.1.137
            nbtscan -v -s : 192.168.1.0/24
                    Scans C-class network. Prints results in script-friendly
                    format using colon as field separator.
                    Produces output like that:
                    192.168.0.1:NT_SERVER:00U
                    192.168.0.1:MY_DOMAIN:00G
                    192.168.0.1:ADMINISTRATOR:03U
                    192.168.0.2:OTHER_BOX:00U
                    ...
            nbtscan -f iplist
                    Scans IP addresses specified in file iplist.
    简单使用

    例如在自己搭建的简单环境中

    > nbtscan-1.0.35.exe 192.168.126.50-100
    192.168.126.81  SIBOMSUN\WIN-6JPD1GANNIP        SHARING DC
    192.168.126.82  SIBOMSUN\WIN2012-AD-USER        SHARING

    发现域的关系

    最后一列是机器可能所开启服务的列表  DC为域服务器

    利用ICMP协议快速探测活跃主机

    也就是ping命令

    简单的bat脚本

    @echo off
    mode con: cols=18 lines=3
    set p1=%1
    if defined p1 ( goto start ) else goto last
    :start
    for /L %%i in (1,1,254) do ping -w 1 -n 1 %p1%.%%i  | findstr "TTL="
    :last
    echo please input args like xxx.xxx.xxx

    使用方法

    ICMPscan.bat 192.168.126 > pinglist.txt

    缺陷就是执行时间过长,需要等待,再就是很多转发协议,类似sockv5都不支持ICMP协议

    域内端口扫描

    目标有三:
    • 端口Banner信息
    • 端口运行的服务
    • 常见应用默认端口

    Nmap

    Nmap是一个老牌好用的扫描器,属于信息搜集的经典工具

    反正十分好用,但是限制是因为太出名,导致它的流量特征经常被防护检测

    可以进行更改,但是需要重新编译nmap,有点麻烦,但不如直接用后面的其他工具

    • 简单扫描
    root@kali:~# nmap 192.168.126.82
    Starting Nmap 7.80 ( https://nmap.org ) at 2020-11-18 06:14 EST
    Nmap scan report for 192.168.126.82
    Host is up (0.00049s latency).
    Not shown: 988 closed ports
    PORT      STATE SERVICE
    80/tcp    open  http
    135/tcp   open  msrpc
    139/tcp   open  netbios-ssn
    443/tcp   open  https
    445/tcp   open  microsoft-ds
    3306/tcp  open  mysql
    49152/tcp open  unknown
    49153/tcp open  unknown
    49154/tcp open  unknown
    49155/tcp open  unknown
    49156/tcp open  unknown                                                                                                                                              
    49157/tcp open  unknown
    MAC Address: 00:0C:29:F1:24:8F (VMware)
    
    Nmap done: 1 IP address (1 host up) scanned in 6.17 seconds
    • 详细显示
    root@kali:~# nmap -vv  192.168.126.82
    Starting Nmap 7.80 ( https://nmap.org ) at 2020-11-18 06:15 EST
    Initiating ARP Ping Scan at 06:15
    Scanning 192.168.126.82 [1 port]
    Completed ARP Ping Scan at 06:15, 0.05s elapsed (1 total hosts)
    Initiating Parallel DNS resolution of 1 host. at 06:15
    Completed Parallel DNS resolution of 1 host. at 06:15, 0.01s elapsed
    Initiating SYN Stealth Scan at 06:15
    Scanning 192.168.126.82 [1000 ports]
    Discovered open port 3306/tcp on 192.168.126.82
    Discovered open port 443/tcp on 192.168.126.82
    Discovered open port 80/tcp on 192.168.126.82
    Discovered open port 139/tcp on 192.168.126.82
    Discovered open port 445/tcp on 192.168.126.82
    Discovered open port 135/tcp on 192.168.126.82
    Increasing send delay for 192.168.126.82 from 0 to 5 due to 49 out of 162 dropped probes since last increase.
    Discovered open port 49153/tcp on 192.168.126.82
    Discovered open port 49157/tcp on 192.168.126.82
    Discovered open port 49155/tcp on 192.168.126.82
    Discovered open port 49156/tcp on 192.168.126.82
    Discovered open port 49154/tcp on 192.168.126.82
    Discovered open port 49152/tcp on 192.168.126.82
    Completed SYN Stealth Scan at 06:15, 5.84s elapsed (1000 total ports)
    Nmap scan report for 192.168.126.82
    Host is up, received arp-response (0.00058s latency).
    Scanned at 2020-11-18 06:15:07 EST for 6s
    Not shown: 988 closed ports
    Reason: 988 resets
    PORT      STATE SERVICE      REASON
    80/tcp    open  http         syn-ack ttl 128
    135/tcp   open  msrpc        syn-ack ttl 128
    139/tcp   open  netbios-ssn  syn-ack ttl 128
    443/tcp   open  https        syn-ack ttl 128
    445/tcp   open  microsoft-ds syn-ack ttl 128
    3306/tcp  open  mysql        syn-ack ttl 128
    49152/tcp open  unknown      syn-ack ttl 128
    49153/tcp open  unknown      syn-ack ttl 128
    49154/tcp open  unknown      syn-ack ttl 128
    49155/tcp open  unknown      syn-ack ttl 128
    49156/tcp open  unknown      syn-ack ttl 128
    49157/tcp open  unknown      syn-ack ttl 128
    MAC Address: 00:0C:29:F1:24:8F (VMware)
    
    Read data files from: /usr/bin/../share/nmap
    Nmap done: 1 IP address (1 host up) scanned in 6.00 seconds
               Raw packets sent: 1077 (47.372KB) | Rcvd: 1001 (40.076KB)
    
    • 自动化全方位扫描
    root@kali:~# nmap -A  192.168.126.82
    Starting Nmap 7.80 ( https://nmap.org ) at 2020-11-18 06:17 EST
    Nmap scan report for 192.168.126.82
    Host is up (0.00050s latency).
    Not shown: 988 closed ports
    PORT      STATE SERVICE      VERSION
    80/tcp    open  http         Apache httpd 2.4.46 ((Win64) OpenSSL/1.1.1g PHP/7.2.34)
    |_http-server-header: Apache/2.4.46 (Win64) OpenSSL/1.1.1g PHP/7.2.34
    | http-title: Welcome to XAMPP
    |_Requested resource was http://192.168.126.82/dashboard/
    |_https-redirect: ERROR: Script execution failed (use -d to debug)
    135/tcp   open  msrpc        Microsoft Windows RPC
    139/tcp   open  netbios-ssn  Microsoft Windows netbios-ssn
    443/tcp   open  ssl/http     Apache httpd 2.4.46 ((Win64) OpenSSL/1.1.1g PHP/7.2.34)
    |_http-server-header: Apache/2.4.46 (Win64) OpenSSL/1.1.1g PHP/7.2.34
    | http-title: Welcome to XAMPP
    |_Requested resource was https://192.168.126.82/dashboard/
    | ssl-cert: Subject: commonName=localhost
    | Not valid before: 2009-11-10T23:48:47
    |_Not valid after:  2019-11-08T23:48:47
    |_ssl-date: TLS randomness does not represent time
    | tls-alpn: 
    |_  http/1.1
    445/tcp   open  microsoft-ds Microsoft Windows Server 2008 R2 - 2012 microsoft-ds
    3306/tcp  open  mysql?
    | fingerprint-strings: 
    |   NULL: 
    |_    Host '192.168.126.128' is not allowed to connect to this MariaDB server
    49152/tcp open  msrpc        Microsoft Windows RPC
    49153/tcp open  msrpc        Microsoft Windows RPC
    49154/tcp open  msrpc        Microsoft Windows RPC
    49155/tcp open  msrpc        Microsoft Windows RPC
    49156/tcp open  msrpc        Microsoft Windows RPC
    49157/tcp open  msrpc        Microsoft Windows RPC
    1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at https://nmap.org/cgi-bin/submit.cgi?new-service :
    SF-Port3306-TCP:V=7.80%I=7%D=11/18%Time=5FB502ED%P=x86_64-pc-linux-gnu%r(N
    SF:ULL,4E,"J\0\0\x01\xffj\x04Host\x20'192\.168\.126\.128'\x20is\x20not\x20
    SF:allowed\x20to\x20connect\x20to\x20this\x20MariaDB\x20server");
    MAC Address: 00:0C:29:F1:24:8F (VMware)
    Device type: general purpose
    Running: Microsoft Windows 2012|7|8.1
    OS CPE: cpe:/o:microsoft:windows_server_2012:r2 cpe:/o:microsoft:windows_7:::ultimate cpe:/o:microsoft:windows_8.1
    OS details: Microsoft Windows Server 2012 R2 Update 1, Microsoft Windows 7, Windows Server 2012, or Windows 8.1 Update 1
    Network Distance: 1 hop
    Service Info: OSs: Windows, Windows Server 2008 R2 - 2012; CPE: cpe:/o:microsoft:windows
    
    Host script results:
    |_nbstat: NetBIOS name: WIN2012-AD-USER, NetBIOS user: <unknown>, NetBIOS MAC: 00:0c:29:f1:24:8f (VMware)
    |_smb-os-discovery: ERROR: Script execution failed (use -d to debug)
    | smb-security-mode: 
    |   account_used: guest
    |   authentication_level: user
    |   challenge_response: supported
    |_  message_signing: disabled (dangerous, but default)
    | smb2-security-mode: 
    |   2.02: 
    |_    Message signing enabled but not required
    | smb2-time: 
    |   date: 2020-11-18T11:19:01
    |_  start_date: 2020-11-09T14:11:30
    
    TRACEROUTE
    HOP RTT     ADDRESS
    1   0.50 ms 192.168.126.82
    
    OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
    Nmap done: 1 IP address (1 host up) scanned in 71.62 seconds

    Metasploit 端口扫描组件

    Metasploit也是著名的渗透工具包,我们使用他的端口扫描组件

    使用msfconsole的 search portscan 来查看所有端口

    演示 auxiliary/scanner/portscan/tcp

    msf5 > search portscan
    
    Matching Modules
    ================
    
       #  Name                                              Disclosure Date  Rank    Check  Description
       -  ----                                              ---------------  ----    -----  -----------
       0  auxiliary/scanner/http/wordpress_pingback_access                   normal  No     Wordpress Pingback Locator
       1  auxiliary/scanner/natpmp/natpmp_portscan                           normal  No     NAT-PMP External Port Scanner
       2  auxiliary/scanner/portscan/ack                                     normal  No     TCP ACK Firewall Scanner
       3  auxiliary/scanner/portscan/ftpbounce                               normal  No     FTP Bounce Port Scanner
       4  auxiliary/scanner/portscan/syn                                     normal  No     TCP SYN Port Scanner
       5  auxiliary/scanner/portscan/tcp                                     normal  No     TCP Port Scanner
       6  auxiliary/scanner/portscan/xmas                                    normal  No     TCP "XMas" Port Scanner
       7  auxiliary/scanner/sap/sap_router_portscanner                       normal  No     SAPRouter Port Scanner
    
    msf5 > use auxiliary/scanner/portscan/tcp 
    msf5 auxiliary(scanner/portscan/tcp) > options
    
    Module options (auxiliary/scanner/portscan/tcp):
    
       Name         Current Setting  Required  Description
       ----         ---------------  --------  -----------
       CONCURRENCY  10               yes       The number of concurrent ports to check per host
       DELAY        0                yes       The delay between connections, per thread, in milliseconds
       JITTER       0                yes       The delay jitter factor (maximum value by which to +/- DELAY) in milliseconds.
       PORTS        1-10000          yes       Ports to scan (e.g. 22-25,80,110-900)
       RHOSTS                        yes       The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
       THREADS      1                yes       The number of concurrent threads (max one per host)
       TIMEOUT      1000             yes       The socket connect timeout in milliseconds
    
    msf5 auxiliary(scanner/portscan/tcp) > set RHOSTS 192.168.126.82
    RHOSTS => 192.168.126.82
    msf5 auxiliary(scanner/portscan/tcp) > set THREADS 10
    THREADS => 10
    msf5 auxiliary(scanner/portscan/tcp) > run
    
    [+] 192.168.126.82:       - 192.168.126.82:80 - TCP OPEN
    [+] 192.168.126.82:       - 192.168.126.82:135 - TCP OPEN
    [+] 192.168.126.82:       - 192.168.126.82:139 - TCP OPEN
    [+] 192.168.126.82:       - 192.168.126.82:445 - TCP OPEN
    [+] 192.168.126.82:       - 192.168.126.82:443 - TCP OPEN
    [+] 192.168.126.82:       - 192.168.126.82:3306 - TCP OPEN
    [+] 192.168.126.82:       - 192.168.126.82:5985 - TCP OPEN 192.168.126.82:       - Scanned 1 of 1 hosts (100% complete) Auxiliary module execution completed

    但是弊端也很明显,无banner信息。

    常见Banner信息

    列出常见的Banner信息

    端口号 服务
    21 FTP
    22 SSH
    23 Telnet
    25 SMTP
    53 DNS
    67/68 DHCP
    80/443/8080/... Web
    110 POP3
    143 IMAP
    1433 MSsql
    1521 Oracle
    3306 Mysql
    3389 RDP
    5900 VNC
    6379 Redis
    --------------------- ---------------------

    收集域内信息

    确定内网的域,且被控主机在域内,就可以开始下一步域内信息搜集了。

    写了一个域内信息搜集的脚本

    使用的时候 在后面添加参数域名

    ADget.bat  SIBOMSUN

    若不添加参数,则返回域名

    @echo off
    set p1=%1
    
    if defined p1 ( goto start ) else goto last 
    
    :start
    mkdir ADresult
    net view /domain > ADresult/domain_name.txt
    net view /domain:%p1% > ADresult/ADcheractors.txt
    net group /domain > ADresult/ADuserGroup.txt
    net accounts /domain > ADresult/ADpwinfo.txt
    cd ADresult
    mkdir ADmanager
    nltest /DCLIST:%p1% > ADmanager/ADadmin.txt
    net time /domain > ADmanager/ADtime.txt
    Nslookup -type=SRV _ldap._tcp > ADmanager/ADmanager.txt
    :last 
    mkdir ADresult
    net view /domain > ADresult/domain_name.txt
    

    域内管理员定位

    简单来说,就是简单的对用户成员信息的搜集

    工具:psloggeden

    使用方式

    Usage: psloggedon.exe [-l] [-x] [\\computername]
        or psloggedon.exe [username]
    -l     Show only local logons
    -x     Don't show logon times
    -nobanner Do not display the startup banner and copyright message.
    

    可以查看某设备上都有哪些用户登陆过//某一用户在那些机器上登陆过

    查看的是注册表,所以可能会需要高权限

    也可以使用powersploit下的powerview模块,针对WIN建议使用ps
    发表于 2021-3-17 16:39:38
    感谢师傅分享!
    使用道具 举报 回复
    大佬,太强了。666666666
    使用道具 举报 回复
    还可以,继续努力哈
    让我们一起干大事!
    有兴趣的表哥加村长QQ:780876774!
    使用道具 举报 回复
    发新帖
    您需要登录后才可以回帖 登录 | 立即注册