当前位置:龙泉人才网 - 职位推荐 -

渗透测试招聘(四十八)

  • 职位推荐
  • 2023-06-07 19:00
  • 龙泉小编

一.常用术语

常用术语包括:

脚本(asp、php、jsp):编写网站的语言

html(css、js、html):超文本标记语言,解释给浏览器的静态编程语言

HTTP/HTTPS协议:通讯标准,明文或密文

CMS(B/S):网站内容管理系统,常见的比如Discuz、DedeCMS、Wordpress等,针对CMS漏洞进行渗透测试

MD5: 加密算法,得到加密后的hash值

肉鸡、抓鸡、跳板:被控制的电脑称为肉鸡,控制过程叫抓鸡;如果直接攻击会暴露IP,此时通过已经拿下的电脑进行攻击,则称为跳板

一句话、小马、大马:比如 <?php eval($_POST[eastmount]); ?>,本身一句话木马是没有危害的,它通过预处理全局变量来执行POST参数

webshell、提权、后门:网站后门可称为webshell

源码打包、脱裤:源码打包和数据库脱裤都是常见的手段,但无法脱裤一定不去执行

嗅探、扫描、注入、上传、提权、rookit

0day、1day、nday

代码审计

安全分享及漏洞库网站推荐:


渗透测试招聘(四十八)

安全测试集相关网站推荐:


渗透测试招聘(四十八)

在线分析或沙箱平台推荐:


渗透测试招聘(四十八)

安全技术会议推荐:


渗透测试招聘(四十八)

安全学术会议推荐:


渗透测试招聘(四十八)

二.渗透测试流程

OWASP top 10 测试标准是安全招聘的常见问题,也是渗透测试的经典标准,详见参考文献2。

渗透测试(Penetration test)并没有一个标准的定义,国外一些安全组织达成共识的通用说法是:渗透测试是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法。 这个过程包括对系统的任何弱点、技术缺陷或漏洞的主动分析,这个分析是从一个攻击者可能存在的位置来进行的,并且从这个位置有条件主动利用安全漏洞。

换句话说,渗透测试是渗透人员在不同的位置(比如内网、外网)利用各种手段对某个特定网络进行测试,以发现和挖掘系统中存在的漏洞,然后输出渗透测试报告,并提交给网络所有者。网络所有者根据渗透人员提供的渗透测试报告,可以清晰知晓系统中存在的安全隐患和问题。

渗透测试流程包括:

确定目标:目标包括网站、系统、网段等

信息收集:占渗透测试大部分时间,信息收集越全面后续的渗透越容易,包括IP、端口、协议、旁站、C段、whois、DNS、后台URL、CMS、身份、邮箱、社工等

漏洞探测:常见漏洞包括SQL注入、XSS、越权、文件上传、Bash、下载漏洞、文件包含、变量覆盖、代码执行、文件泄露等

漏洞验证:建议撰写POC,避免撰写EXP。(POC是指漏洞验证,英文为Proof of Concept ,表示一段漏洞证明的代码;EXP是指漏洞利用,全称Exploit,指利用系统漏洞进行攻击的动作;Payload是“有效载荷”,指成功exploit之后,真正在目标系统执行的代码或指令;Shellcode是Payload的一种,由于其建立正向/反向shell而得名)

编写报告

信息整理

获取所需

信息分析

三.环境配置

虚拟机应用配置

系统安装

HTTP协议

网站搭建配置

1.虚拟机应用配置

安装详见前文 十一,虚拟机VMware+Kali安装入门及Sqlmap基本用法”。


渗透测试招聘(四十八)

注意,虚拟机有个快照功能可以帮助我们迅速恢复之前的状态。


渗透测试招聘(四十八)

虚拟机网络配置在右下角位置。


渗透测试招聘(四十八)

如果想要虚拟机上网,通常我们会选择“Net模式”,让它自动获取IP即可。


渗透测试招聘(四十八)

也可以设置自定义模式。


渗透测试招聘(四十八)

如何在虚拟机中搭建网站,让外网能够访问呢?
选择“桥接模式”,直接连接物理网络,复制物理网络连接状态,此时在同一个网段进行访问。这里在虚拟机中搭建一个网站,其虚拟机IP地址为192.168.0.104,如下图所示。


渗透测试招聘(四十八)

此时物理机通过IP地址可以直接访问该虚拟机中搭建好的网站,注意端口号为99。


渗透测试招聘(四十八)

那么,又怎么通过外网访问呢?接着需要配置迅捷网络的路由器,点击“高级用户”->“虚拟服务器”映射IP。设置虚拟服务器,添加一个HTTP协议的服务器,IP地址为192.168.0.104,端口号为99。


渗透测试招聘(四十八)

此时,当外网访问本机物理IP地址时,就会跳转访问虚拟机中搭建的网站。其本机物理IP地址为182.46.195.40。

渗透测试招聘(四十八)

外网访问的最终结果如下图所示,也推荐大家搭建网站进行渗透测试。


渗透测试招聘(四十八)

PS:后续随着教程深入会分享如何搭建网站以及域名解析。

2.HTTP协议

HTTP(明文)和HTTPS(密文)

HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。它是一种详细规定了浏览器和万维网服务器之间互相通信的规则,是万维网交换信息的基础,允许将HTML文档从Web服务器传送到Web浏览器。


渗透测试招聘(四十八)

HTTP协议是基于TCP/IP协议之上的应用层协议,它是一个客户端和服务器端请求和应答的标准。客户端是终端用户,服务器端是网站。通过使用Web浏览器、网络爬虫或者其它的工具,客户端发起一个到服务器上指定端口(默认端口为80)的HTTP请求。下图是HTTP协议的原理图,通常包括两部分:

HTTP客户端发起一个请求,建立一个到服务器指定端口的TCP连接。

HTTP服务器则在那个端口监听客户端发送过来的请求。一旦收到请求,服务器向客户端发回一个状态行,比如成功访问的状态码为“HTTP/1.1 200 OK”,同时返回响应消息,包括请求文件、错误消息、或者其它一些信息。

推荐文章:HTTP协议超级详解 - 爱文飞翔


渗透测试招聘(四十八)

HTTPS(全称Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的HTTP通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS在HTTP的基础下加入SSL层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要SSL。HTTPS 存在不同于HTTP的默认端口及一个加密/身份验证层(在 HTTP与 TCP 之间)。这个系统提供了身份验证与加密通讯方法。它被广泛用于万维网上安全敏感的通讯,例如交易支付等方面。如果你足够细心,你会发现现在很多大型互联网网站,如百度、淘宝、腾讯很早就已经把HTTP换成HTTPS了。


渗透测试招聘(四十八)

响应码很多目录扫描工具就是通过HTTP响应码来判断页面是否存在。200、302、403、404、500都是常见的响应码。


渗透测试招聘(四十八)

URL

在WWW上,每一信息资源都有统一的且在网上唯一的地址,该地址就叫URL(Uniform Resource Locator,统一资源定位符),它是WWW的统一资源定位标志,就是指网络地址。

URL由三部分组成:资源类型、存放资源的主机域名、资源文件名;也可认为由4部分组成:协议、主机、端口、路径。URL的一般语法格式如下,方括号为可选项。

protocol :// hostname[:port] / path / [parameters][?query]#fragment

例如“www.eastmount.com/admin/index.html”,某些情况下,它是伪静态网页,虽然看似HTML文件,但存在数据库交互。常见的动态网站编写脚本包括:

index.php

index.asp

index.jsp

HTTP Header

HTTP消息头是指在超文本传输协议( Hypertext Transfer Protocol ,HTTP)的请求和响应消息中,协议头部分的那些组件。HTTP消息头用来准确描述正在获取的资源、服务器或者客户端的行为,定义了HTTP事务中的具体操作参数。这里以Python获取消息头为例:

# -*- coding:utf-8 -*- import urllib import webbrowser as web url = "http://www.baidu.com content = urllib.urlopen(url) print content.info() #头信息 print content.geturl() #请求url print content.getcode() #http状态码 #保存网页至本地并通过浏览器打开 open("baidu.html","w").write(content.read()) web.open_new_tab("baidu.html")

该段调用调用urllib.urlopen(url)函数打开百度链接,并输出消息头、url、http状态码等信息,如下图所示。


渗透测试招聘(四十八)

一方面分析HTTP头对网站渗透非常重要;另一方面它也存在安全隐患,在PHP中通常会使用 $_SERVER[“HTTP_CLIENT_IP”] 或者 $_SERVER[“HTTP_X_FORWARDED_FOR”] 来获取IP。因此,可以通过修改HTTP头中的X-Forwarder-For:、client-ip:来进行攻击。例如:

突破服务器访问限制ip

HTTP头注入攻击

BurpSuite抓包分析

Burpsuite是用于攻击web应用程序的集成平台,包含了许多工具。Burpsuite为这些工具设计了许多接口,以加快攻击应用程序的过程。所有工具都共享一个请求,并能处理对应的HTTP 消息、持久性、认证、代理、日志、警报。通常利用Burpsuite抓包分析,寻找Web漏洞。

后续作者会结合Cracer教程深入讲解,也推荐大家阅读作者之前的文章:

三.Burp Suite工具安装配置、Proxy基础用法及暴库示例


渗透测试招聘(四十八)

GET传参和POST传参区别

采用GET方法,浏览器会与表单处理服务器建立连接,然后直接在一个传输步骤中发送所有的表单数据,浏览器会将数据直接附在表单的 action URL之后,两者之间用问号进行分隔。这种方法传递数据数据量较小,并且不安全。形如:

http://www.example.com/login?name=me&pwd=123456

采用POST方法,浏览器将会按照下面两步来发送数据。首先,浏览器将与 action属性中指定的表单处理服务器建立联系,一旦建立连接之后,浏览器就会按分段传输的方法将数据发送给服务器。在服务器端,一旦POST样式的应用程序开始执行时,就应该从一个标志位置读取参数,而一旦读到参数,在应用程序能够使用这些表单值以前,必须对这些参数进行解码。用户特定的服务器会明确指定应用程序应该如何接受这些参数。对那些有许多字段或是很长的文本域的表单来说,就应该采用 POST 方法来发送。同时,POST方法的安全性更高。形如:

http://www.example.com/login

HTTP请求方法还包括:GET、POST、OPTIONS、PUT、MOVE、DELETE、TRACE。下图采用BurpSuite抓取POST请求参数。

注意,错误配置HTTP方法可能导致的安全事件。服务器存在允许PUT方式和MOVE方式,这时我们可以通过PUT方式传入一个webshell.txt,然后通过MOVE方式结合解析漏洞很快地拿到网站的Webshell。


渗透测试招聘(四十八)

WAF

Web应用防护系统(Web Application Firewall,简称 WAF)也称为:=网站应用级入侵防御系统。Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品。

推荐作者前文:[网络安全自学篇] 三十三.文件上传漏洞之绕狗一句话原理和绕过安全狗(六)

防火墙技术是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内、外网之间构建一道相对隔绝的保护屏障,以保护用户资料与信息安全性的一种技术。

防火墙技术的功能主要在于及时发现并处理计算机网络运行时可能存在的安全风险、数据传输等问题,其中处理措施包括隔离与保护,同时可对计算机网络安全当中的各项操作实施记录与检测,以确保计算机网络运行的安全性,保障用户资料与信息的完整性,为用户提供更好、更安全的计算机网络使用体验。


渗透测试招聘(四十八)

安全狗以SECaaS安全即为用户提供一站式的云安全产品与服务,包括(云)主机安全、WEB应用安全、网站防篡改、抗DDoS云服务、安全大数据态势感知等。其基本功能包括:

网站安全狗: 面向网站安全,包括网马扫描及查杀(自有引擎,只针对网页木马);网马主动防御功能(可主动拦截网马上传和访问的动作);防SQL注入功能、防XSS跨站攻击功能;防盗链防下载;以及防止CC攻击。

服务器安全狗: 面向服务器安全的,包括基于内核驱动的抗DDOS攻击、抗ARP攻击、抗WEB CC攻击功能;基于内核驱动的文件系统主动保护功能(可防止文件被篡改、保护系统文件);基于内核驱动的服务器其他方面的主动防御功能(系统账号、注册表、远程登陆等方面的保护);以及服务器全面优化及体检功能。

安全狗服云: 基于云端的监控和保护。安全狗服云利用云计算技术,为用户构造一个全面的服务器和网站的监控和防护平台,利用这个平台,用户可以做到24小时的服务器健康监控、资源监控和资源告警;24小时的服务器可用性监控;网站安全云扫描,发现网站存在的各种漏洞;基于云端技术的网站防篡改功能,保障网站文件不被非法修改。


渗透测试招聘(四十八)

<?php $a='b'; $a='assert'; $b($_POST[fox]); ?>

3.网站搭建配置

常见网站搭建包括ASP网站搭建、Java网站SSH搭建、PHP网站搭建 ,比如phpStudy、WAMP/LAMP。参考作者文章:phpStudy搭建Upload-labs靶场及CTF题PHP XAMPP配置PHP环境和Apache80端口被占用解决方案


渗透测试招聘(四十八)

它的优势是可以切换各种PHP版本。


渗透测试招聘(四十八)

IIS网站搭建也是非常基础的知识,这里推荐大家阅读 “[网络安全自学篇] 四十二.DNS欺骗和钓鱼网站原理详解及漏洞还原” 文章实验部分。


渗透测试招聘(四十八)

一个聪明的安全工程师,是需要熟悉常见的CMS框架的。

内容管理系统(content management system,CMS)是一种位于WEB 前端(Web 服务器)和后端办公系统或流程(内容创作、编辑)之间的软件系统。内容的创作人员、编辑人员、发布人员使用内容管理系统来提交、修改、审批、发布内容。这里指的“内容”可能包括文件、表格、图片、数据库中的数据甚至视频等一切你想要发布到Internet、Intranet以及Extranet网站的信息。


渗透测试招聘(四十八)

常见CMS如下:

企业建站系统:MetInfo(米拓)、蝉知、SiteServer CMS(.net平台)等

B2C商城系统:商派shopex、ecshop、hishop、xpshop等

门户建站系统:DedeCMS(织梦,PHP+MYSQL)、帝国CMS(PHP+mysql)、PHPCMS、动易、cmstop,dianCMS(易点CMS,.net平台)等

博客系统:wordpress、Z-Blog等

论坛社区:discuz、phpwind、wecenter等

问答系统:Tipask、whatsns等

知识百科系统:HDwiki

B2B门户系统:destoon、B2Bbuilder、友邻B2B等

人才招聘网站系统:骑士CMS、PHP云人才管理系统

房产网站系统:FangCms等;

在线教育建站系统:kesion(科汛,ASP)、EduSoho网校

电影网站系统:苹果cms、ctcms、movcms等

小说文学建站系统:JIEQI CMS

写到这里,上部分网络安全基础知识就介绍完毕,接下来将分享Windows基础知识及DOS命令。上部分主要的知识点包括:

了解常见术语

熟悉渗透测试流程

熟练操作虚拟机配置及系统安装

学会搭建网站测试环境

掌握常见CMS框架

熟悉网络基础知识,包括HTTP、协议、GET和POST等

四.Windows基础知识

该部分主要分为三部分内容:

系统目录、服务、端口、注册表

黑客常用的DOS命令及批处理

powershell

1. 系统目录、服务、端口、注册表

系统目录

熟悉系统目录方便我们进行渗透操作。包括系统自身创建的目录、程序或人为创建的目录。比较重要的几个目录包括Windows、Program files/Program files(x86)、ProgramData、用户等。

(1) Windows
Windows系统目录指操作系统的主要文件存放的目录。目录中的文件直接影响到系统是否正常工作,了解这些目录的功能,对使用系统会有很大的帮助。


渗透测试招聘(四十八)

其中的核心目录包括System32,该文件夹下config/SAM是存储加密过的系统帐号的密码文件。该文件被系统占用无法打开,但PE系统下能操作管理员密码,也可以通过lc5、彩虹表、PwDum7.exe获取。


渗透测试招聘(四十八)

PwDum7.exe软件读取SAM文件,此时为密文。

渗透测试招聘(四十八)

pass.exe软件获取密码“123.com”,必须管理员权限才能读取。


渗透测试招聘(四十八)

另一个核心文件为WindowsSystem32driversetchosts文件,相当于本地的小型DNS,定义了域名和IP。


渗透测试招聘(四十八)

打开如下图所示:


渗透测试招聘(四十八)

注意,hosts文件的优先级高于DNS服务器。
如果我们直接ping百度,它会返回百度的真实IP地址(115.239.210.27),如下图所示。


渗透测试招聘(四十八)

但如果在hosts文件中增加域名解析记录,则它会优先ping本地hosts文件中的记录(1.1.1.1)。如果你的hosts文件被污染,则就是DNS欺骗或钓鱼网站,
详细推荐作者前文:四十二.DNS欺骗和钓鱼网站原理详解及漏洞还原。


渗透测试招聘(四十八)


渗透测试招聘(四十八)

域名解析(Domain Name Resolution) 是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点地址。域名解析就是域名到IP地址的转换过程。域名的解析工作由DNS服务器完成。

例如,当企业员工电脑访问该购物网站时,会去DNS服务器进行解析;然后找到地址2.2.2.2,并返回给企业员工电脑;最后访问该购物Web服务器,假设是IIS,它会将购物网站的首页返回给你的浏览器。


渗透测试招聘(四十八)

(2) Program files/Program files(x86)

操作系统各种程序默认安装到的目录,包括32位和64位。其文件夹包括:Common Files(提供程序中的一些共享配置文件)、 Internet Explorer(网络浏览器)、NetMeeting(网络聊天软件)、Microsoft Office(办公软件集合)、Windows Media Player(媒体播放器)等。


渗透测试招聘(四十八)

比如腾讯QQ、微信通讯软件。


渗透测试招聘(四十八)

(3) Perflogs

它是Windows系统的日志信息,如磁盘扫描错误信息、测试信息等,该目录不建议删除,删除反而会重新生成并降低系统速度。

(4) ProgramData

C盘的一个系统文件夹(隐藏),它是公用的被创建文件夹或文件存放的地方,由创建者完整控制,程序运行或启动生成的临时文件通常存放该目录,电脑病毒也比较喜欢感染该目录。


渗透测试招聘(四十八)

(5) 用户
存放系统账号相关的文件或文件夹。在Web渗透中该目录有什么用呢?当我们提取某个服务器后,通常会去查询该目录中存在的用户名,该目录是信息深入收集所必须查找的目录,包括桌面、我的文档等敏感信息或文件。


渗透测试招聘(四十八)

比如QQ的文件接收信息。如果存在敏感文件,是不是就会泄露了相关信息。


渗透测试招聘(四十八)

服务

服务是一种应用程序类型,它在后台运行。服务应用程序通常可以在本地和通过网络为用户提供一些功能,例如客户端/服务器应用程序、Web服务器、数据库服务器以及其他基于服务器的应用程序。如果某个服务未打开,你就不能享受对应这个服务的功能。

在运行中输入“services.msc”打开服务。


渗透测试招聘(四十八)

显示如下图所示,可以打开描述查看具体信息。


渗透测试招聘(四十八)

比如虚拟机的网络服务,需要打开才能让虚拟机连接上网。


渗透测试招聘(四十八)

比如虚拟机的网络服务,需要打开才能让虚拟机连接上网。

除了计算机内置的服务,我们软件也需要注册相关的服务,包括后面要讲得metasploit安装后面的软件,也需要安装相关的服务。

服务决定了计算机的一些功能是否被启用,不同的服务对应的功能不同,通过计算机提供的服务可以有效地实现资源共享。常见的服务包括:

Web服务:搭建网站

DNS服务:用于域名解析

DHCP服务:用于客户机配置可用IP

邮件服务:发送邮件

Telnet服务:Windows远程连接

SSH服务:通过ssh服务连接该主机

FTP服务:文件传输协议服务,为互联网提供文件存储和访问

SMB服务:用于Web连接和客户端与服务器之间的信息沟通

服务是可以设置“自动”(启动)、“手动”、“禁用”三种类型,后面用到时会具体讲解。


渗透测试招聘(四十八)

在CMD中输入 “netstat -an” 显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接(IP+端口)正在运作。


渗透测试招聘(四十八)

Cracer安全工具包提供了各种工具,推荐大家尝试学习。


渗透测试招聘(四十八)

比如利用Hydra工具进行Telnet远程服务器密码爆破,如下图所示,也推荐大家阅读前面作者的文章 “三十八.hack the box渗透之BurpSuite和Hydra密码爆破及Python加密Post请求(二)”。如果想提高爆破成功率,字典和社工(目标生日、姓名)非常重要。


渗透测试招聘(四十八)

端口

(1) 端口的作用

我们知道,一台拥有IP地址的主机可以提供许多服务,比如Web服务、FTP服务、SMTP服务等,这些服务完全可以通过1个IP地址来实现。那么,主机是怎么区分不同的网络服务呢?显然不能只靠IP地址,因为IP地址与网络服务的关系是一对多的关系,实际上是通过“IP地址+端口号”来区分不同的服务的。

需要注意的是,端口并不是一一对应的。比如你的电脑作为客户机访问一台WWW服务器时,WWW服务器使用“80”端口与你的电脑通信,但你的电脑则可能使用“3456”这样的端口。如下图所示:


渗透测试招聘(四十八)

(2) 端口的分类

端口共1-65535号,知名端口范围从0到1023,这些端口号一般固定分配给一些服务,大家尽量不要使用。比如21端口分配给FTP服务,25端号分配给SMTP邮件传输协议服务,80端口分配给HTTP服务,135端口分配给RPC远程过程调用服务等等。

动态端口的范围从1024到65535,这些端口号一般不固定分配给某个服务,也就是说许多服务都可以使用这些端口。只要运行的程序向系统提出访问网络的申请,那么系统就可以从这些端口号中分配一个供该程序使用。比如1024端口就是分配给第一个向系统发出申请的程序,在关闭程序进程后,就会释放所占用的端口号。注意,端口冲突就不能正常工作。

同时,动态端口号也常常被病毒木马程序所利用,如冰河默认连接端口号是7626、WAY 2.4连接端口号是8011、Netspy 3.0连接端口号是7306、YAI病毒连接端口号是1024等等。

(3) 常见的端口


渗透测试招聘(四十八)


渗透测试招聘(四十八)

4)黑客通过端口可以干什么

信息收集

目标探测

服务判断

系统判断

角色分析

注册表

注册表(Registry,繁体中文版Windows称之为登录档)是微软Windows系统中的一个重要的数据库,用于存储系统和应用程序的设置信息。早在Windows 3.0退出OLE技术的时候,注册表就已经出现。随后推出的Windows NT是第一个从系统级别广泛使用注册表的操作系统。但是,从Microsoft Windows 95开始,注册表才真正成为Windows用户经常接触的内容,并在其后的操作系统中继续沿用至今。在安全领域,注册表是非常强大且常用的。

(1) 打开注册表

运行中输入“regedit”。


渗透测试招聘(四十八)

打开如下图所示,包括五个根键,每个键值控制的内容不一样。


渗透测试招聘(四十八)

(2) 注册表的作用

注册表是Windows操作系统中的一个核心数据库,其中存放着各种参数,直接控制着Windows的启动、硬件驱动程序的装载以及一些Windows应用程序的运行,从而在整个系统中起着核心作用。这些作用包括了软硬件的相关配置和状态信息,比如注册表中保存有应用程序和资源管理器外壳的初始条件、首选项和卸载数据等,联网计算机的整个系统的设置和各种许可,文件扩展名与应用程序的关联,硬件部件的描述、状态和属性,性能记录和其他底层的系统状态信息,以及其他数据等。

如果我们的电脑中了木马,怎么清除对应的木马呢?

第一种方法,开机自启动是植入木马常用的操作,进行查找及清除。


渗透测试招聘(四十八)

在运行中输入“msconfig”,可以查看开机自启动程序和服务,如下图所示,图中“计算器”就是之前另一篇文章植入的“木马”。当木马设置成开机自启动服务时,是非常可怕的一件事,参考作者前文。

三十六.WinRAR漏洞复现(CVE-2018-20250)及恶意软件自启动劫持

四十三.木马原理详解、远程服务器IPC$漏洞及木马植入实验


渗透测试招聘(四十八)

如果电脑被植入木马,我们可以通过其位置找到对应的木马并清除,下图显示的是VBS木马。


渗透测试招聘(四十八)


渗透测试招聘(四十八)

如果程序未放置在开机自启动的位置,而是插入注册表中,又怎么清除呢?
第二种方法,通过注册表查找并清除木马。


渗透测试招聘(四十八)

通过查找注册表的内容,然后再获取键值的位置并进行清除。


渗透测试招聘(四十八)

第三种方法,通过网络远程连接查询和外部交互的IP地址和端口。
输入“netstat -an” 或 “netstat -o”,显示如下图所示。如果每当我们开机,它就会自动连接远程某个地址和端口,说明我们中了木马且肉鸡自动上线。


渗透测试招聘(四十八)

(3) 注册表结构

HKEY_CLASSES_ROOT

管理文件系统。根据在Windows中安装的应用程序的扩展名,该根键指明其文件类型的名称,相应打开该文件所要调用的程序等等信息。

HKEY_CURRENT_USER

管理系统当前的用户信息。在这个根键中保存了本地计算机中存放的当前登录的用户信息,包括用户登录用户名和暂存的密码,在用户登录Windows时,其信息的项拷贝到HKEY_CURRENT_USER中。

HKEY_LOCAL_MACHINE

管理当前系统硬件配置。在这个根键中保存了本地计算机硬件配置数据,此根键下的子关键字包括在SYSTEM.DAT中,用来提供HKEY_LOCAL_MACHINE所需的信息,或者在远程计算机中可访问的一组键中。

HKEY_USERS

管理系统的用户信息。在这个根键中保存了存放在本地计算机口令列表中的用户标识和密码列表,同时每个用户的预配置信息都存储在HKEY_USERS根键中,HKEY_USERS是远程计算机中访问的根键之一。

HKEY_CURRENT_CONFIG

管理当前用户的系统配置。在这个根键中保存着定义当前用户桌面配置如显示器等的数据,该用户使用过的文档列表(MRU)、应用程序配置和其他有关当前用户的Windows中文版安装的信息。


渗透测试招聘(四十八)

(4) 入侵中常用的注册表


渗透测试招聘(四十八)

2.黑客常用的DOS命令

ping和ipconfig等网络命令

  • ping -t -l 65550 ip:死亡之ping,发送大于64K的文件并一直ping就成立死亡之ping。


渗透测试招聘(四十八)

  • inconfig:查看ip地址,比如“ipconfig /all”,包括计算机名称、IP地址、MAC地址、DNS等。

  • 渗透测试招聘(四十八)

  • ipconfig /release:释放ip
  • ipconfig /renew:重新获得ip
  • 渗透测试招聘(四十八)

  • systeminfo:查看系统信息,主要用来检测是否安装了补丁

  • 渗透测试招聘(四十八)


    渗透测试招聘(四十八)

    arp -a:显示ARP缓存的命令,它可以显示电脑上所有的ARP缓存条目。ARP协议是将IP地址映射为MAC地址的协议,其在协议上使用ARP请求及ARP应答报文来实现。

    渗透测试招聘(四十八)

    net view:查看局域网内其他计算机名称


    渗透测试招聘(四十八)

    telnet:连接远程终端。

    关机及对话命令

    • color:改变cmd颜色,比如“color a”。


    渗透测试招聘(四十八)

    shutdown -s -t 180 -c “你被黑了,系统马上关机”:设置关机,如果需要取消,则输入“shutdown -a”


    渗透测试招聘(四十八)

  • msg:用于系统命令弹框提示,比如输入msg administrator “hello hacker”。如果某台电脑同时被两名黑客攻击,可以通过该方法和对方交流。

  • 渗透测试招聘(四十八)


    渗透测试招聘(四十八)

    文件及目录操作命令

    • dir:查看当前目录,目录“DIR”表示文件夹,其余表示文件。还包括文件大小和修改时间。

    渗透测试招聘(四十八)

    cd:切换目录。输入“cd …”表示返回上一层目录,“cd Software”表示去到当前目录,“D:”表示切换至D盘。


    渗透测试招聘(四十八)

    start www.baidu.com:打开网页


    渗透测试招聘(四十八)

    start 123.txt:打开123.txt文件,也可以使用“notepad 123.txt”


    渗透测试招聘(四十八)

    del 123.txt:删除文件,删除之后再次打开则会提示找不到该文件。


    渗透测试招聘(四十八)

    copy con c:bc.txt:创建abc.txt文件,并填写内容,输入“Ctrl+Z+回车”创建成功。



    渗透测试招聘(四十八)

    type abc.txt:在CMD中打开文件内容,渗透中经常使用。


  • md file_name:创建目录。
  • rd file_name:删除文件夹。
  • ren 原文件名 新文件名:重命名文件名称。

  • 渗透测试招聘(四十八)

  • copy:复制文件
  • move:移动文件

  • 渗透测试招聘(四十八)

    net命令

    • net use k:92.168.1.1c $:Windows渗透测试中常用命令。比如输入“net use K: 92.168.3.100c $”,此时磁盘映射多了个C盘。
    • net use k:92.168.1.1c$ /del


    增加的C盘如下图所示,并且能访问或修改相关的文件。


    渗透测试招聘(四十八)


    渗透测试招聘(四十八)

  • net start:查看开启的服务。
  • net start 服务名:开启服务,比如“net start telnet”、“net start schedule”。
  • net stop 服务名:停止服务。

  • 渗透测试招聘(四十八)

    net user:查看有哪些用户。调用“net user”查看计算机当前用户。


    渗透测试招聘(四十八)

  • net uesr 用户名 密码 /add:建立用户。调用“net user xiao /add”添加新用户“xiao”。
  • net password 密码:更改系统登录密码。

  • 渗透测试招聘(四十八)

    net localGroup administrators 用户名 /add:把用户添加到管理员中,使其具有管理员权限,注意administrator后加s用复数。我们将“xiao”用户添加到管理员中。


    net user 账户名:查看账户的属性。输入“net user xiao”,可以看到其为管理员组。


    渗透测试招聘(四十八)

    C:Usersxiuzhang>net user \DESKTOP-KUPRQ86 的用户帐户 ------------------------------------------------------------------------------- Administrator DefaultAccount Guest WDAGUtilityAccount xiuzhang 命令成功完成。 C:Usersxiuzhang>net user xiuzhang 用户名 xiuzhang 全名 注释 用户的注释 国家/地区代码 000 (系统默认值) 帐户启用 Yes 帐户到期 从不 上次设置密码 ‎2020/‎2/‎3 12:28:17 密码到期 从不 密码可更改 ‎2020/‎2/‎3 12:28:17 需要密码 No 用户可以更改密码 Yes 允许的工作站 All 登录脚本 用户配置文件 主目录 上次登录 ‎2020/‎2/‎20 11:33:08 可允许的登录小时数 All 本地组成员 *Administrators 全局组成员 *None 命令成功完成。 C:Usersxiuzhang>

    -net localgroup:查看本地组。


    渗透测试招聘(四十八)

    请大家注意,“Remote Desktop Users”为远程桌面组,绕过安全狗可能会遇到该组。下图展示了将其添加到远程桌面组的代码“net localgroup “remote desktop users” xiao /add”。



    net user guest /active:yes:激活guest用户。


    net user guest 12345:用guest用户登录后将密码改为“12345”。


    服务器提权不建议大家创建用户登录,尽量避免管理员看到新增用户,可以启用guest并创建密码,再增加到管理员组或远程桌面组。相对比直接创建用户更隐蔽,最后会进行还原与痕迹清除。所以,安全防火墙和日志是非常重要的安全保护数段。


    渗透测试招聘(四十八)

  • net share:查看本地开启的共享。
  • net share ipc $:开启ipc $共享(中间无空格,但由于Markdown语法问题作者加空格)。
  • net share ipc $ /del:删除ipc $共享。
  • net share c $ /del:删除C盘共享。
    netstat命令
  • netstart -a:查看开启了哪些端口,常用netstat -an。

    netstat -n:查看端口的网络连接情况。

    netstat -v:查看正在进行的工作。

    netstat -an:显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接(IP+端口)正在运作。


    渗透测试招聘(四十八)

    tasklist:查看系统进程。调用“taskkill /im cmd.exe”可以结束进程。


    渗透测试招聘(四十八)

    netsh:网络工具。常用来创建无线,比如“netsh wlan set hostednetwork mode=allow ssid=cc key=1122334455”。


    渗透测试招聘(四十八)


    渗透测试招聘(四十八)

    at命令

    • at id号:开启已注册的某个计划任务,如下图所示,“22:51”执行该关机任务。


    AT命令已启用,改用schtasks.exe。

    at /delete:停止所有计划任务,用参数/yes则不需要确认就直接停止。

    at id号 /delete:停止某个已注册的计划任务。

    at:查看所有的计划任务。

    attrib:文件名(目录名)查看某文件(目录)的属性。

    attrib 文件名 -A -R -S -H 或 +A +R +S +H:去掉或添加某文件的存档,只读、系统、隐藏属性;用+则是添加为某属性。

    批处理文件是DOS命令的组合文件,写在批处理文件的命令会被逐一执行,后缀名为“.bat”。比如创建一个批处理文件“x.bat”,包含3条DOS命令。


    渗透测试招聘(四十八)

    DIR查看已经已经创建成功。


    渗透测试招聘(四十八)

    本地C盘的批处理文件“x.bat”如果被执行或加载到自启动项,则会执行该命令。


    渗透测试招聘(四十八)

    可以看到,创建的管理员用户“cr”已经存在,后续会执行关机。


    渗透测试招聘(四十八)

    3.Powershell

    Powershell在安全领域也是非常重要的技能,推荐大家阅读作者两篇前文。十九.Powershell基础入门及常见用法(一)二十.Powershell基础入门及常见用法(二)


    渗透测试招聘(四十八)

    五.总结

    写到这里,Cracer学习视频第一篇文章就介绍完毕,主要包括两部分内容:

    第一部分讲解网络安全基础知识,包括:常见术语、渗透测试流程、虚拟机配置及系统安装、搭建网站测试环境、常见CMS框架、网络基础知识,包括HTTP、协议、GET和POST等。

    第二部分讲解Windows基础知识及DOS命令,包括计算机目录、注册表、计算机服务名称、常用端口及对应服务、常用黑客DOS命令、Powershell等。

    免责声明:本文内容来源于网络或用户投稿,龙泉人才网仅提供信息存储空间服务,不承担相关法律责任。若收录文章侵犯到您的权益/违法违规的内容,可请联系我们删除。
    https://www.lqrc.cn/a/zhiwei/38455.html

    • 关注微信
    下一篇:暂无

    猜你喜欢

    微信公众号