|
|
LeonHart wrote:
Ai cũng thấy rằng password dùng để login vào windows dễ dàng bị vô hiệu hoá.
Cho mình hỏi cách vô hiệu hoá đó là gì vậy?
|
|
|
Sao không ai trả lời hết vậy??
Cái này mình định demo cho cái honeyd khi nó mô phỏng các dịch vụ đó.
FTP thì mình có thể dùng phương pháp bruter.
Còn Web và Mail mình không biết.
|
|
|
Giả sử máy server mình có 2 dịch vụ là Web (IIS) và Mail (SMTP & POP3) thì từ các máy ngoài có những cách nào để khai thác (hack) các ứng dụng mở trên máy server không?
|
|
|
Nhưng mình có thể sửa lỗi này được không?
|
|
|
Sau khi cài đặt thành công Honeyd.
Mình thử dịch vụ telnet, run trên máy honeyd:
[root@localhost]#perl /honeyd-script/telnet/faketelnet.pl
thì nhận được thông báo lỗi:
Can't locate msgs.txt in @INC (@INC contains: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8 .) at /honeyd-script/telnet/faketelnet.pl line 8.
Đây là code file faketelnet.pl:
require 'msgs.txt';
use IO::Socket;
my ($line, $i, $con, $port);
socket(SERVER, PF_INET, SOCK_STREAM, getprotobyname('tcp')) or die "socket: $!";
setsockopt(SERVER, SOL_SOCKET, SO_REUSEADDR, 1) or die "setsockopt: $!";
bind(SERVER, sockaddr_in(24, INADDR_ANY)) or die "bind: $!";
listen(SERVER, SOMAXCONN) or die "listen: $!";
while($con = accept(CLIENT, SERVER))
{
$pid=fork();
if ($pid == 0)
{
addloginfo();
login(CLIENT);
}
}
##Subrotina de login
sub login
{
($client) = @_;
send($client, "$message\n", 0);
send($client, "\nLogin:", 0);
recv(CLIENT, $user, 100, 0);
if(length($user) > 15)
{
send($client, "Segment Fault\n", 0);
$shell="sh-2.05b# ";
&shell($client,$user);
}
chomp($user);
send($client, "Password:", 0);
recv(CLIENT, $pass, 100, 0);
addloguser($user,$pass);
shell($client,$user);
}
##subrotina simulando uma shell
sub shell
{
getcmds();
($client,$user)= @_;
my $steps="$user" . "conectou";
send($client, "$shell", 0);
my $exec=0;
for(;
{
recv($client, $comand, 100, 0);
chomp($comand);
if($comand =~ /^\r/)
{
send($client, "$shell", 0);
}
elsif($comand =~ /quit\b/)
{
exit 0;
}
elsif($comand =~/\W/)
{
foreach my $rule (keys %cmds)
{
if($comand =~ /$rule/i)
{
send($client, "$cmds{$rule}", 0);
send($client, "$shell", 0);
$exe=1;
last;
}
else
{
$exe=0;
}
}
if($exe != 1)
{
send($client, "bash command not found\n", 0);
send($client, "$shell", 0);
$exe=0;
}
}
}
exit 1;
}
#subrotina que "pega" os comandos do arquivo cmds.txt
sub getcmds
{
open(CMDS, "cmds.txt"
while (defined ($opt=<CMDS>)
{
if($opt =~ /^ $/)
{
last;
}
else
{
@optw = split(/:/, $opt);
$cmds{$optw[0]}=$optw[1];
}
}
close(CMDS);
}
sub addloginfo
{
my($port,$iaddr) = sockaddr_in($con);
open(LOGFILE, "+>>$logfile"
if(LOGFILE)
{
print(LOGFILE scalar localtime);
print(LOGFILE " Faketelnet -- ataque vindo de: ", inet_ntoa($iaddr), ":$port\n"
close(LOGFILE);
}
}
sub addloguser
{
my ($user,$pass)= @_;
open(LOGFILE, "+>>$logfile"
if(LOGFILE)
{
chomp($user);
chomp($pass);
print(LOGFILE " Info do atacante:", $user, "\n"
print(LOGFILE " senha utilizada:", $pass, "\n"
close(LOGFILE);
}
}
và file msgs.txt:
#file with the messages to be sent
#Emulate Linux RedHAT
#
#$logfile="faketel.log";
#$myhost="enigma.opensolutions.com.br";
#$message="\n$myhost (Linux release 2.4.18-14)";
#$msglogin="Bem vindo a maquina ENIGMA\n\n";
#$shell="[root\@enigma root]# ";
#$uname="Linux RedHat 6.2 enigma.opensolutions.com.br 2.2.19 i586";
#
#emulate Solaris
#
#$logfile="faketel.log";
#$myhost="enigma.opensolutions.com.br";
#$message="\nSunOS 5.8";
#$msglogin="Last login: Mon Jun 2 15:31:59 from localhost\n";
#$shell="$ ";
#$uname="SunOS 5.8 Spark Ultra 10";
#
#Emulate Win NT (GoodTech Telnet Server)
#
#$logfile="faketel.log";
#$message="Welcome to GoodTech Telnet Server for Windows NT (V2.2) \n\n (C) Copyright 1996-1999 GoodTech Systems,Inc.\n";
#msglogin="";
#$shell="c:>";
#$uname="uname is not recognized as a internal or external program, operable program or batch file";
#Default responses:
$logfile="faketel.log";
$myhost="localhost.localdomain";
$message="\nConnected to $myhost";
$msglogin="Last login: Mon Jun 2 15:31:59 from localhost\n\n";
$shell="[root\@enigma root]# ";
Có bro nào biết lỗi này là sao không?
|
|
|
Rất cảm ơn bro!!!
|
|
|
Cảm ơn bro tranhuuphuoc!
Nhân tiện mình có biết một phần mềm backup giao diện khá đơn giản là fwbackups.
Bạn có từng thử chưa?
Tại mình vừa làm được 1 phần quan trọng của đồ án tốt nghiệp nên muốn backup phòng ngừa.
|
|
|
Trong CentOS không biết có những soft nào dùng để backup/restore vậy??
|
|
|
Trong các rule mà snort cung cấp, không phải cái nào cũng xài được đâu nha.
Chỉ xài được một vài rule và một vài rule tự viết thôi.
quanta wrote:
File cấu hình của bạn nhiều dòng comment quá (bắt đầu bằng dấu #), nên remove hết đi để tạo thuận tiện cho người đọc.
File cấu hình nó mặc định là vậy, chắc brain.vn không để ý.
|
|
|
Tất cả các vấn đề đã được giải quyết.
Honeyd đã vận hành.
Cảm ơn anh em hvaonline!!
|
|
|
Vấn đề đã được giải quyết.
Mình tạo file libpcap.so.1 trong /usr/lib/, rồi tạo liên kết tới file libpcap trong /usr/local/lib
|
|
|
Sau một thời gian nghiên cứu, vấn đề phát sinh là do cài trên máy ảo
=> Mình quyết định cài trên máy thực.
Cài CentOS.
Nhưng khi start arp thì lại gặp lỗi:
Code:
arpd -d -i eth0 10.0.0.0/8
arpd: error while loading shared libraries: libpcap.so.1: cannot open shared object file: No such file or directory
Mình đã kiểm tra:
Code:
rpm -qa | grep libpcap
libpcap-0.9.4-15.el5
Lỗi này là sao vậy?
|
|
|
quanta wrote:
Từ kết quả này bạn có rút ra được điều gì không?
PS: mình thì chưa dùng honeyd nhưng mình thấy bản mới nhất của nó cũng release từ 2007, nên chắc ít người mặn mà với nó.
Mình không hiểu ý của bạn là gì??
PS: cái này là đề tài tốt nghiệp của mình mà. Lần trước là snort-inline, nhưng hướng phát triển bị trùng nên phải tìm hiểu cái này.
Mà tiện thể hỏi bạn chỗ permisson trong file script, bạn có ý kiến gì không?
|
|
|
Bữa giờ bỏ Ubuntu, qua cài Honeyd trên CentOS lại.
Dùng 2 script: tcp web port 80 và telnet 23.
Thử chạy script web trên máy Honeyd: dùng các lệnh của quanta bảo:
Và thử run script telnet trên máy Honeyd:
Gõ bất cứ cái gì cũng ko có hiện tượng gì hết.
Thử dùng nmap scan:
=> 2 port close.
Dùng telnet port 80 => ko ra gì. Chỉ ra màn hình đen xì, gõ cái gì cũng bị out.
Dùng telnet => lỗi permisson deny bên log của Honeyd:
Dòng 16 là:
Có ai có kinh nghiệm về Honeyd giúp mình cái!!
|
|
|
Sử dụng command:
Code:
thì ra:
khi gõ bất kỳ ký tự gì thì bị out ngay.
File log:
Còn vụ telnet port 80, cũng như telnet, ra màn hình đen và có dấu nhắc.
Nhưng khi gõ bất kỳ kỹ tự gì thì cũng bị out ra lại.
File log:
|
|
|
Máy Honeyd IP là 10.0.0.5
Máy dùng để test FTP, telnet, Scan IP là 10.0.0.9
Máy đích là 10.0.0.1.
Máy honeyd dùng arp để đầu độc ARP.
Code:
|
|
|
Đây là về FTP, kết nối liền bị close sau khi gõ lệnh FTP 10.0.0.1
|
|
|
Thì khi Telnet bằng port 80, gõ lệnh telnet 10.0.0.1 80 thì ra màn hình đen, chỉ có 1 dấu con trỏ nhấp nháy, không có gì hết.
Tương tự như dùng FTP.
Mặc dù file log ghi connection established, nhưng bên máy dùng telnet và FTP lại không có gì hiện lên để chứng minh hết.
|
|
|
Đây là file log khi dùng telnet port 80:
Và đây là file log khi FTP:
P/S: thấy chụp nó rõ hơn
|
|
|
Đã tham khảo ý của quanta: http://ubuntuforums.org/showpost.php?p=9572899&postcount=5
Mình đã kiểm tra và không còn lỗi về perl hiện lên.
Test thừ bằng telnet:
Code:
Thì bên honeyd:
Và bên máy telnet thì chẳng get được gì.
Thử bằng FTP:
thì bên honeyd:
Cũng chẳng được gì.
Còn file log của FTP thì:
Khi dùng lệnh: nmap -sS -p 21,80 -O 10.0.0.1
thì nhận được:
Đây là file cấu hình:
Bị sao vậy?
|
|
|
Hic2!! Sao vấn đề này ít người gặp vậy! (
|
|
|
Mình đã kiểm tra kỹ, đã cài perl đầy đủ. Nhưng khi scan từ máy XP vào thì vẫn không detect được OS.
Vẫn ra hiện tượng:
Code:
Initiating OS detection (try #1) against 192.168.1.101
Retrying OS detection (try #2) against 192.168.1.101
Retrying OS detection (try #3) against 192.168.1.101
Retrying OS detection (try #4) against 192.168.1.101
Retrying OS detection (try #5) against 192.168.1.101
Trong khi file cấu hình là:
thì khi scan chỉ detect được port 22, các port 80, 23 lại không detect được.
Các connection thì bị close, killing.
Mong các bro gợi ý.
|
|
|
Cái này là lỗi cấu hình database, snort ko nhận được thông tin từ MySQL.
Bạn nên cài nhiều lần, không ai cài một lần mà chạy cả đâu.
Nên cài nhiều lần rút kinh nghiệm.
Chú ý: các version của snort và các gói phụ thuộc kèm theo nên cài cho đồng bộ.
|
|
|
Vào xem file cấu hình snort.conf, phần database đó. Nó kêu thiếu cấu hình đó.
Code:
database: must enter database name in configuration file
ở phần:
Code:
output database: log, mysql, dbname=snort user=snortusr password=123456 host=localhost
Chỉnh cho đúng user khi cấu hình snort, database, pass.
|
|
|
kyoshiroit wrote:
Mình đã cài được honeyd.
File cấu hình honey.conf:
Khi chưa start honeyd, lấy 1 máy bất kỳ scan máy 10.0.0.2 thì ra đúng:
Khi start honeyd, thì lại ra không đúng so với file cấu hình:
Và honeyd thì:
Cấu hình liệu mình có sai gì không mà sao scan ko ra vậy?
Lỗi này không pro nào biết sao??
|
|
|
Quyền đó mình đã có, là cơ sở để mình làm bài lý thuyết.
|
|
|
hmtaccess wrote:
kyoshiroit wrote:
Mình đã làm theo hướng dẫn của tranhuuphuoc, khi configure --with-libevent=/usr/local/libevent => ok không có lỗi.
Nhưng khi make thì lại báo lỗi:
Bị sao vậy
Uả vậy bước này bạn khắc phục sao vậy, thiếu thư viện à
Mình làm theo hướng dẫn này: http://www.honeyd.org/phpBB2/viewtopic.php?t=599&sid=d3b98ee3ccab8d40684e7c047f901c3b
vậy là cài được.
|
|
|
Mình đã cài được honeyd.
File cấu hình honey.conf:
Khi chưa start honeyd, lấy 1 máy bất kỳ scan máy 10.0.0.2 thì ra đúng:
Khi start honeyd, thì lại ra không đúng so với file cấu hình:
Và honeyd thì:
Cấu hình liệu mình có sai gì không mà sao scan ko ra vậy?
|
|
|
Mình cài trên CentOs 5.
|
|
|
Mình đã làm theo hướng dẫn của tranhuuphuoc, khi configure --with-libevent=/usr/local/libevent => ok không có lỗi.
Nhưng khi make thì lại báo lỗi:
Bị sao vậy
|
|