|
|
Code:
class version
{
public:
version()
{
DWORD h = 0;
DWORD resource_size = ::GetFileVersionInfoSize(szProcessPath, &h);
_tprintf( TEXT("%s\n"),szProcessPath);
resource_data_ = new unsigned char[resource_size];
if(::GetFileVersionInfo(szProcessPath,
0,
resource_size,
static_cast<LPVOID>(resource_data_)) != FALSE)
{
UINT size = 0;
if(::VerQueryValue(static_cast<LPVOID>(resource_data_),
"\\VarFileInfo\\Translation",
reinterpret_cast<LPVOID*>(&language_information_),
&size) == FALSE)
throw std::exception("Requested localized version information not available");
}
}
~version() { delete [] resource_data_; }
std::string get_product_name(TCHAR *szProcessPath) const { return get_value("ProductName",szProcessPath); }
private:
unsigned char *resource_data_;
version_nmsp::language *language_information_;
TCHAR *szProcessPath;
std::string get_value(const std::string &key,TCHAR *szProcessPath) const
{
if(resource_data_)
{
UINT size = 0;
std::stringstream t;
LPVOID value = 0;
// Build query string
t << "\\StringFileInfo\\" << std::setw(4) << std::setfill('0') << std::hex
<< language_information_->language_ << std::setw(4) << std::hex
<< language_information_->code_page_ << "\\" << key;
_tprintf( TEXT("%s\n"),szProcessPath);
if(::VerQueryValue(static_cast<LPVOID>(resource_data_),
const_cast<LPTSTR>(t.str().c_str()),
static_cast<LPVOID*>(&value),
&size) != FALSE)
return static_cast<LPTSTR>(value);
}
return "";
}
};
void main( )
{
TCHAR szProcessPath[MAX_PATH] = TEXT("D:\\Cheat.exe");
version v;
std::cout << v.get_product_name(szProcessPath) << std::endl;
}
Đã mò được cách lấy Product name . Nhưng có một vấn đề với cái class đang sử dụng . Mình muốn đưa szProcessPath từ void main vào trong class. Nhưng khi gọi theo get_product_name thì chỉ có Private hiểu , còn Public thì không. Nên khi xuất ra szProcessPath bên trong với lệnh _tprintf( TEXT("%s\n"),szProcessPath); thì chỉ có Private hiện ra . Nhờ các bác sửa hộ giúp mình vài chỗ để Public hiểu luôn . cám ơn nhiều.
|
|
|
Hôm nay mình đã dùng EnumProcesses để lấy process , GetFileVersionInfoSize ,GetFileVersionInfo,VerQueryValue để lấy version. Nhưng chưa lấy được Product name , Internal name vì MSDN bảo phải dùng String Structure . Đọc hoài không hiểu . Mấy bác có ví dụ nào đơn giản , code ngắn gọn về cái này thì xin chỉ giúp giùm.
|
|
|
Các chương trình như SpeedGear , !xSpeed đâu có thèm tham quan process của mình đâu , nó tăng tốc toàn hệ thống . Cái gì cũng nhanh lên hết.
|
|
|
Đây là project của mình một cách đơn giản ( dùng findwindow tìm classname và title ): http://thanhnienbaolam.com/Guard.rar
Sau cả đêm tìm tòi thì mình nhận ra rằng việc nhận biết file từ Window title , caption , classname là ko hay . caption thì dễ bị thay đổi và một số program thì cả classname và caption đều không có cố định. Nên mình đã chuyển sang phương hướng tìm tất cả các process đang chạy. và từ các process này , tìm ra path và fileversion info để lấy product name , internal name . Tuy cách này vẫn có thể bypass bằng các soft như resource hacker nhưng với trò game nhỏ của mình và thời điểm hiện tại thì có lẽ đây là khả quan nhất.
Mò miết bên codeproject thì thấy có cái Process viewer này khá hay . Source đầy đủ : http://www.codeproject.com/KB/cpp/processviewer.aspx
Process viewer list ra các running process và cho ra FileVersionInfo đầy đủ .
Ý tưởng của mình dựa trên đó , sẽ liệt kê product name , internal name của các process đang chạy để so sánh với các từ khóa mình định danh sẵn. Nhưng ôi thôi , đúng là Software Developer (Senior) của India , nhìn cái source mà chóng cả mặt , không biết nên " chôm cái nào , chôm cái gì , chôm từ đâu " luôn
Mình không biết bây giờ với ý tưởng như trên thì phải làm thế nào nữa . Với kiến thức có hạn của mình , hi vọng nhận được sự giúp đỡ của các bạn.
|
|
|
Hic . Tìm theo classname . Một số software như YM thì có classname là YahooBuddyMain ,... mấy cái này thì ok . tìm dễ . Nhưng một số phần mềm chạy trên CMD , khi chạy thì có classname là ConsoleWindowClass thì ... nếu mở cmd lên thôi ko thì cũng báo nhầm. Và một số phần mềm khi chạy thì classname sẽ được sinh ra đại loại như là "#32770 (Dialog)" . Và một số program như WPE PRO thì mỗi khi chạy lại , class name sẽ thay đổi
Afx:400000:8:10011:0:44038b
Afx:400000:8:10011:0:b405e3
<- thế này thì sao mà tìm chính xác được đây
Xin được chỉ giúp giùm cái này .
|
|
|
Cái này nói cả ngày hem hít . Nói chung nếu bạn thích cái nghiệp anti debug-anticheat thì khuyên thật lòng đừng . Ngay cảm GameGuard,X-Trap, HackShield...nó dùng cả cơ chế chặn API, CRC memory mà còn có cách vượt qua mà.
Nếu thích tìm hiểu thì bạn xem cái này nhé: http://www.securityfocus.com/infocus/1893
Hi. Mình không cần cao siêu . Nhưng nghĩ nếu mình làm được ý tưởng đã nêu ra thì cũng chống được một phần nào ròi . Các pro nào đủ trình độ để cheat thì đành chấp nhận thôi . Chứ phần đông toàn dùng ba cái soft có sẵn !xSpeed và SpeedGear để cheat , rồi bảo là hack tùm lum . Thế mà không chống được thì mới gọi là nhục
Tài liệu bác đưa ra , hic sao mình đọc không hiểu lắm và .... project của mình viết trên VC++ , mình không rành ASM lắm nên ....
hay vì sử dụng windows title thì bạn thử dùng classname xem,vấn đề nhận ra process vẫn là nó thì mình nghĩ bạn nên đưa ra các tiêu chuẩn để đánh giá.
Mình đang tìm thêm thông tin về classname . Về vấn đề tìm process như mình đã trình bày thì mình thấy trong MSDN chỉ có các hàm get cho phép lấy ra các thông tin của process , nhưng thật sự không tìm được cái nào như ý mình đã trình bày cả .
|
|
|
Một chương trình rất hay có liên quan đến vấn đề của mình là DWK . không biết phần mềm này theo dõi các process thế nào để chận nữa . Dù có rename file thì cũng phát hiện ra . Đang google từ khóa " source dwk" , " code giống dwk" mà toàn ra result " kill dwk " , " vượt qua dwk"
// Edit : sorry . Nhầm . DWK sniff web , không phải sniff process.
|
|
|
Hi các bạn trong forum.
Hiện nay mình có một vấn đề , mong các bạn bỏ chút ít thời gian ra chỉ giúp.
Mình muốn viết 1 dll anticheat add vào minigame của mình . Project của mình viết trên VISUAL C++ , có đoạn code tìm ứng dụng đang chạy . Nếu tìm thấy sẽ thông báo lên.
Code:
bool TimWindow(LPCSTR WindowTitle)
{
HWND MyWin = FindWindowA(0,WindowTitle);
if( MyWin > 0)
MessageBoxA(0,"Da tim thay chuong trinh.","Thong bao",0);
return false;
}
Như vậy . khi gọi TimWindow("Yahoo! Messenger");
nếu đang mở YM thì sẽ nhận đc thông báo . Tuy nhiên có một số ứng dụng rất khó tìm chính xác tên window nên mình hỏi liệu có cách nào tìm gần đúng . Ví dụ cho trường hợp trên , chỉ cần tìm từ khóa "Yahoo" là có thể tìm ra Yahoo! Messenger.
Đã mất 2 ngày mò trên msdn mà ko có hàm nào khả quan. Mình không tìm theo process vì process có thể đổi dễ dàng khi rename program file.
Vấn đề ở đây là mình muốn tìm gần chính xác class name của process đó (Caption text). Tuy nhiên dùng SPY++ của MSVC thì không tìm được một số classname của một số program. Ví dụ software !xSpeed ( có thể down tại đây : http://www.shareup.com/downloading-12553.html) là 1 soft tăng tốc xử lý hệ thống ( speed up ) và có thể dùng để cheat các gameonline , minigame,... Khi chạy soft này thì caption của process thay đổi theo tốc độ speed up ( ví dụ tăng tốc 2 lần thì caption là +2 ) . Như vậy thì làm sao tìm được chính xác với hàm FindWindowA
Và 1 vấn đề thêm : nếu tìm theo process . mình đã thử thì khi rename tên file thì process name cũng thay đổi . Như thế thì nếu mình tìm process là !xSpeed.exe , người khác chỉ cần rename !xSpeed.exe thành blabla.exe là ko detect ra process nữa . Tuy nhiên mình nghe nói có một số thủ thuật , hàm , hoạt động dựa trên cơ chế tìm process trên ram và kiểm tra theo kiểu các software antivirus check virus nên sẽ nhận ra được đúng , chính xác tên gốc của process ( ví dụ 1 program có Internal name xem trong tab Version của properties . mình thấy khi rename file đi nữa thì internal name cũng ko thay đổi <- cái này cũng tạm chấp nhận nhưng nếu dùng resource hacker để edit lại thì cũng bó tay)
Mình cũng có nghĩ tới cách kiểm tra xung nhịp hoạt động của hệ thống để kiểm tra , phát hiện những chương trình như !xSpeed,SpeedGear . Không biết cách này có khả quan không vì mình đã thử tìm khá nhiều tuy nhiên không thấy tài liệu nào nói cả .
Rất mong các bạn trong forum giúp đỡ . Đã tìm và hỏi nhiều người nhưng không ai có ý kiến gì , hỏi mấy Thầy dạy cũng bó tay .
|
|
|
Cả ngày hôm nay bị đánh bầm mình luôn . Từ sáng đến tối . Dù các flash đã được xóa . Các IMG đều được load từ host khác . Buồn thay . Sáng mai mình sẽ canh và sniff lại xem xem lần này là bị đánh vào đâu nữa .
|
|
|
Rất cảm ơn comale đã giúp đỡ . Hôm qua mình có up các IMG và SWF lên host khác , đổi source link các IMG và SWF trong mọi trang index về host mới này nhưng vẫn bị đánh dù mod security đã được thiết lập. Tối qua thì mình đã xóa hẳn các IMG và SWF tại htdocs luôn nên mọi image đều phải load từ host servage xuống , và đến trưa nay ( đáng ra là đã bị đánh rầm rầm ) thì vẫn ok. Không biết là đã ổn , hay tạm ổn , hay là " ổng " bận gì, quên gì nên ... Dù gì thì có một buổi sáng dậy mà thấy server bình yên là mừng lắm . Tạm thời là vậy . Rất cảm ơn comale trong những ngày vừa qua . Hiện mình sẽ theo dõi tiếp . Nhưng nếu lại bị nữa thì đành phải nhờ comale tiếp tục phân tích nữa quá . Hì .
|
|
|
Hic . Sáng nay vẫn bị đánh . comale xem giúp mình xem nó lại đánh vào đâu nhé. Không hiểu được là tại sao gỡ img và swf xuống hết mà vẫn bị.
http://stukyo.com/140208.rar
|
|
|
Ngoài ra, bồ xem lại phần logging directive của apache vì bồ log mỗi entry 2 lần đó.
Cảm ơn / Mình đã sửa lại rồi . Sáng nay ngủ dậy lại thấy bị đánh tè le . Hic . Lúc đó đang ngủ nên không sniff được. Để tí nữa nó flood , mình sniff lại xem sao . Đã thử gỡ các flash xuống mà vẫn bị.
|
|
|
Hi . Mò mãi mà không thấy REQUEST_HEADERS_NAMES. Tức là mình đã chạy bản 2. mà dùng câu Directive SecFilter nên nó không hiểu , đành quay về 1.9 vì không tìm được câu SecRule đó . ( Mò 30' ko ra . Đúng gà thật ) Giờ thì quay lại 2.1.1 .
|
|
|
SecFilterEngine On
SecFilterCheckURLEncoding On
SecFilterForceByteRange 32 126
SecAuditEngine RelevantOnly
SecAuditLog logs/audit_log
SecFilterDebugLog logs/modsec_debug_log
SecFilterDebugLevel 0
# SecFilterScanPOST On
SecFilterDefaultAction "deny,log,status:403"
# chongxflash
SecFilterSelective "HEADERS" "x-flash-version" "deny,status:400"
SecFilter /etc/passwd
SecFilter "\.\./"
SecFilter "<[[:space:]]*script"
SecFilter "<(.|\n)+>"
SecFilter "delete[[:space:]]+from"
SecFilter "insert[[:space:]]+into"
SecFilter "select.+from"
SecFilterSelective "HTTP_USER_AGENT|HTTP_HOST" "^$"
SecFilterSelective "HTTP_CONTENT_TYPE" multipart/form-data
Nãy mình không đế ý , set SecFilterScanPOST On, thành ra nó chận POST hết , players login vào account control panel nó chận sạch nên log audit tăng ào ào .
Hiện tại mình đã di dời tất cả các IMG và SWF lên host của servage.net , Web chỉ còn text , script , php , htm . Với mod security như trên và dời img , swf đi thì chắc hắn sẽ không đánh vào flash nữa . Mà là request này nọ ( mình nghĩ vậy ) . Để sáng nay theo dõi thử 1 cái nữa xem sao . Xem xem hắn sẽ đánh vào đâu . Nếu vẫn bị thì mình sẽ sniff lại 1 cái rồi gửi cho comale xem lại nhé . Cảm ơn rất nhiều . Không có comale giúp chắc giờ đập đầu vào màn hình mất thôi.
|
|
|
Hì hục hì hục . 6g rồi . Em mới mò ra . Hu hu hu . Trước giờ dùng cái mod_security 2.1.4 và 2.1.5 download từ http://www.apachelounge.com/. Củ chuối thật . làm y chang như trong file readme mà nó ko work .
Dù đã loadmodules đủ hết , nhưng
<IfModule mod_security2.c>
</IfModule>
thì ghi bùa ghi phèo gì bậy bạ trong đó nó cũng chạy vô tư , chả có sao cả . Làm include cái file .conf vào config mãi mà không thấy gì . Log mod_security cũng chả thấy đâu . Đến giờ mới mò được trang /www.gknw.net , vào down bản 2.1.1 về mà xài ( ko ham bản mới nữa ) thì rất good. Đang config lại . Quả là sai lầm . Hic . Làm báo comale quá , quả thật có lỗi .
//Chỉnh :
Ối trời . Cái SecFilterSelective "HEADERS" "x-flash-version" "deny,status:400" phải dùng cho mod_security ver 1.xx . Vừa down và setup lại cái mod này bản 1.9 . Cho mình hỏi với cấu trúc là SecFilterSelective thì cho mod_security ver 2 là gì vậy ? Mình có thử SecRule mà nó báo lỗi , ứ chịu . Và tình hình là cái file log audit_log của mình nó ... tăng khá nhanh
|
|
|
Hic . Khổ tâm thật . mod security thì không chống được . Cản request rate cũng không xong . Giờ thì biết NGUYÊN DO rồi , các bạn tư vấn mình cách nào phòng chống với. Đang xem về mod_line_edit mà đọc thấy ...
Tuy vậy, phương thức này cũng có những nhược điểm:
* Thứ nhất, nó chỉ chống được thế hệ xFlash hiện tại. Theo nghiên cứu của riêng tôi, Flash, cụ thể là Flash Player 9 với ActionScript 3, cực kì nguy hiểm. Cách làm này sẽ không thể chống được thế hệ xFlash mới được phát triển dựa trên tính năng của ActionScript 3. Ngoài ra, nếu kẻ tấn công biết cách khai thác các lỗ hổng của Flash 9 trở về trước, phương thức này cũng sẽ trở nên vô tác dụng.
* Thứ hai, nó chỉ phát hiện và chống được POST request từ xFlash. Theo anh con-ma-le cho biết, một số biến thể xFlash hiện tại chỉ chơi GET request mà thôi.
|
|
|
Hic . Mình đã gỡ hết các file flash SWF xuống rồi mà vẫn bị đánh bầm dập. Liệu các file IMG có thể bị đánh không vậy comale ? Hay tất cả mọi thứ đều có thể bị DDOS ???
|
|
|
Rất cảm ơn bài phân tích rất chi tiết của comale . Hiện mình đã thử rất nhiều firewall . Ngay cả cái draytrek hình như cũng không hiệu quả . Bạn có thể chỉ mình giúp firewall nào có thể chận tốt các request không ? Chứ các firewall của mình từ software đến hardware toàn thiết lập xong , limit các request xuống thấp nhất mà vẫn bị. Cho mình hỏi thêm vậy nếu bây giờ mình gỡ hết các flash swf xuống thì có phải hắn sẽ không flood được nữa không . Và nếu là ko bị nữa thì mình đem cái flash này lên host khác . Ví dụ host trianglemu.com mua của servage.net thì khi bị đánh thì host đó sẽ bị , còn host ta1.myvnc.com sẽ không bị gì cả đúng không ạ. Hic . Không hiểu sao cái mod_security lại không hoạt động nhỉ .
|
|
|
Đợi mãi đến 1g hắn mới chịu tấn công tiếp. Lần này mình sniff cả 2 chiều i/o luôn . Display lên đến vài chục ngàn ... Sợ bạn đọc không nổi. Mình nhìn hoa cả mắt. Đoạn đầu của file sniff có thể là chưa bị tấn công . Bắt đầu vào lúc 1g là tấn công dồn dập đến 1g30 luôn. . Hừm . Giờ đang để ý . MSSQL vẫn còn nhẹ ram nhưng chắc cũng ảnh hưởng . Còn httpd.exe thì ram ngốn lên gần 1GB . comale cho mình hỏi nếu là xflash thì sao mình không thể xem được nguồn của nó ở đâu nhỉ , không thấy referen của nó .
Đây là file sniff kèm theo log của apache : http://stukyo.com/130208.rar
Giải nén ra là 40+MB . Log hơi dài . 30' lận .2 chiều nữa,Bạn chịu khó xem giúp mình nhé . Cảm ơn.
|
|
|
Mình đang dùng 2 line của Viettel và cả 2 line này đều có thể NAT port trên các loại modem được . Còn vấn đề dính proxy thì chưa bị . Với line VNN thì đã bị , và lúc nào cũng bị nhưng vẫn NAT port được . Tức là vẫn có 1 ip thật . Nhưng ip đó sẽ thông qua proxy của VNN nữa. Cứ 203.162.3.xxx . Vào rapidshare là khỏi download luôn.
|
|
|
Không phải là VIP . Diệt cũng đơn giản . Nhưng với cơ chế lây lan qua YM của nó thì rất rất nhiều bạn bị . Máy của nhỏ em của mình ở chung nhà cũng bị . Dù mình đã dặn trước và bảo không nên click vào các link , các đường dẫn lạ . Ấy thế mà cũng bị . Với các con virus " nội " thế này thì dùng BKAV quét rất hữu hiệu.
|
|
|
To mèo con xinh xắn : Cảm ơn bạn đã đóng góp ý kiến . Nhưng mình làm với quy mô nhỏ , lượng người truy cập cũng có giới hạn nên mình tự biết như thế nào là đủ . Mình đâu phải là công ty , có tiền hàng tỷ đâu mà .... Nhưng thật sự xin lỗi vì vấn đề của mình hoàn toàn không ngớ ngẩn . Cái site hocccna.com mà bạn nói đó là host thuê , bị ddos thì hết bandwidth nên bị suspend , còn site của mình là do mình host với dynamic dns , rõ là bạn không đọc các bài viết của mình mà đã vội chỉ trích .
To comale : Rất cảm ơn comale lần nữa lại giúp đỡ .
Auth basic . Mình bế tắc lắm nên vạ cái gì làm được là thử ngay . Thấy 1 số site khác cũng làm vậy và ở HVA cũng có 1 guide bảo mật bằng .htaccess nên mình cũng thử . Thử xong cũng bị flood ào ào ^^.
Xflash các file image và swf . Mình hoàn toàn đồng ý vì xem file log apache mình cũng chẳng thấy được gì ngoài các request các file image và swf. Mình cũng ngờ ngợ không biết phải không , tại mình thấy nó không liên tục và nếu là xflash thì với config file log của mình thì nó phải để lại dấu vết referen chứ nhỉ . Nhưng đúng là khoảng 1 2 giây thì bị vài cái , nhưng cứ thế mà liên tục , tiến tới như trong clip swf mình record lại quá trình game bị ảnh hưởng . Mình đã thử dùng ddos xflash share.swf với file config là dungyeuanh.txt . Chắc comale có biết cái này. Mình thử config nó , up lên 1 host . Nhờ mọi người truy cập để ... thử tự đánh chính mình . Thì với gần 20 người truy cập , server của mình vẫn không bị gì cả . Apache nhận được liên tục request hàng milisecond nhưng vẫn không die, gameserver cũng không bị gì .
Về file sniff trên là do mình nghĩ là ... bị tấn công thì chỉ cần theo dõi chiều vào , khỏi cần xem chiều ra ... và rút ngắn lại thì dễ cho các bạn xem .... thật là sai lầm . Giờ là 10g22 , cũng gần tới giờ ... hắn quậy . Tí nữa mình sẽ sniff lại và up lên . Cảm ơn bạn rất nhiều .
Còn rule cho mod_security, mình đã add vào rồi .
File httpd.conf , mình đã include mod_security vào :
LoadModule security2_module modules/mod_security2/mod_security2.so
LoadModule unique_id_module modules/mod_unique_id.so
<IfModule mod_security.c>
include modules/mod_security2/modsecurity.conf
</IfModule>
Và đây là nội dung file modsecurity.conf với nội dung config mình đã nghiên cứu , chọn lọc thêm vài cái :
SecRuleEngine On
SecRule ARGS "c:/" t:normalisePathWin
SecRule ARGS "\.\./" t:normalisePathWin
SecRule ARGS "d:/" t:normalisePathWin
SecRule ARGS:highlight "(\x27|%27|\x2527|%2527)"
SecFilter xp_enumdsn
SecFilter xp_filelist
SecFilter xp_availablemedia
SecFilter xp_cmdshell
SecFilter xp_regread
SecFilter xp_regwrite
SecFilter xp_regdeletekey
SecFilter "delete[[:space:]]+from"
SecFilter "insert[[:space:]]+into"
SecFilter "select.+from"
SecFilter "<(.|n)+>"
SecFilter "<[[:space:]]*script"
SecFilter "../"
SecDefaultAction log,auditlog,deny,status:403,phase:2,t:lowercase,t:replaceNulls,t:compressWhitespace
SecFilterSelective "HTTP_USER_AGENT|HTTP_HOST" "^$"
SecFilterSelective "HEADERS" "x-flash-version" "deny,status:400"
SecFilterSelective "ARG_recipient" "!@modsecurity\.org$"
SecFilterSelective "ARG_recipient" "!@modsecurity\.org$"
SecFilterSelective OUTPUT "Volume Serial Number"
SecFilterSelective OUTPUT "Command completed"
SecFilterSelective OUTPUT "Bad command or filename"
SecFilterSelective OUTPUT "file(s) copied"
SecFilterSelective OUTPUT "Index of /cgi-bin/"
SecFilterSelective OUTPUT ".*uid\=\("
SecFilterSelective ARG_PHPSESSID "!^[0-9a-z]*$"
SecFilterSelective COOKIE_PHPSESSID "!^[0-9a-z]*$"
SecFilterScanPOST On
SecFilterCheckURLEncoding On
SecFilterCheckCookieFormat On
SecFilterCheckUnicodeEncoding Off
SecFilterNormalizeCookies On
SecFilterCookieFormat 1
SecFilterDebugLog logs/modsec.log
SecFilterDebugLevel 0
SecFilterScanPOST On
SecFilter /etc/password
SecFilter /bin/ls
SecFilter "\.\./"
SecFilterForceByteRange 1 255
SecAuditEngine RelevantOnly
SecAuditLogType Serial
SecAuditLog logs/mod_security2.log
SecServerSignature "NOYB"
SecServerResponseToken Off
SecRequestBodyAccess On
SecResponseBodyAccess Off
SecUploadKeepFiles Off
SecRequestBodyLimit 131072
SecRequestBodyInMemoryLimit 131072
SecResponseBodyLimit 524288
|
|
|
Chào các bạn.
Trước tiên mình rất cảm ơn các bạn đã nhiệt tình giúp đỡ mình trong thời gian vừa qua . Mình đã biết được rất nhiều kiến thức qua các lần cố gắng bảo mật cho server . Hôm nay là 12/02 rồi . Đã gần 2 tháng kể từ lúc bị tấn công . Không có ngày nào mà ăn ngủ yên cả . Lúc nào cũng ngồi trên máy để canh và nghiên cứu chống lại . Mình đã thử rất nhiều cách từ router firewall ngoài , firewall software, isa, mod apache , các script cho web , giới hạn connnection ,... đủ thứ nhưng vẫn không khắc phục được . Rất buồn. Cái cảm giác thật sự khó diễn tả ... Hôm nay mình sniff 1 đoạn port 80 ghi lại hoạt động của webserver vào thời điểm bị tấn công ( liên tục từ lúc 05:50 PM và kéo dài 20 phút ) kèm log của apache server.
Rất mong các bạn có thể bỏ chút thời gian ra xem xét và chỉ hộ giúp mình.Lần này mà mình vẫn không sửa được nữa thì có nước bó tay mất
Đây là file : http://stukyo.com/120208.rar
Địa chỉ IP của máy là 192.168.1.3 . Hiện mình đã gộp appserv và mssql lại chạy chung trên máy này luôn để tiện theo dõi.
Rất cảm ơn các bạn đã quan tâm giúp đỡ .
|
|
|
Hiện mình đã mua Vigor2950 Dual WAN Security Router (460+ $) vẫn không khắc phục được . Thứ nhất là tình trạng bị đánh vào web , ảnh hưởng đến gameserver vẫn còn bị . hic , mấy ngày tết mà không được ăn tết yên ổn . Hôm nay thì lại bị một ... tình trạng mới . Web lag kinh khủng dù game không bị gì , xem log apache thì không thấy gì bất ổn . Nhưng sniff thì thấy từ IP 87.106.56.236 có rất nhiều request quái đản mà apache không ghi nhận được. IP này liên tục request , cứ apache mở lên là request ngay . Do kiến thức có hạn , mình không thể xác định đây là kiểu đánh gì để phòng chống , nhờ các bạn xem giúp.
http://stukyo.com/dontknow.pcap
Tình hình đó thì có lẽ là chỉ bị mất băng thông và làm webserver overload thôi chứ game thì không sao . Như vậy là lại thêm 1 vấn nạn nữa . 1 cái là bị đánh ảnh hưởng đến game ( not fixed yet ) , và bây giờ thêm cái này nữa . Hic . Các bác rảnh xem giúp mình với . Cảm ơn.
//Chỉnh sửa : Hiện mình đã xem IP 87.106.56.236 . Đây là trang web của CXTRA mà mình include code vào trang index của mình để tăng bảo mật . Chắc vì lý do này mà nó tự kết nối đến Cxtra , gây ra tình trạng vừa rồi . Như vậy cái này là do mình . Hic . Mình thử tìm đủ cách bảo mật nhưng không cách nào hiệu quả cả . Mình đã thử gỡ bỏ tất cả các module xuống, chỉ để 2 module là register và account control . Mình đã chạy profier của MSSQL SERVER để xem xem các query nào chạy nhiều , phải read , write nhiều để tối ưu lại . Nhưng dường như ,... hễ có cái gì mà liên quan giữa Webserver và MSSQL SERVER là bị tấn công . Bây giờ mình đang làm lại , đưa Apacheserver và MSSQL server vào chạy chung 1 máy để tiện sniff . Mình sẽ sớm up lên đây kết quả sniff được của port 80 khi bị đánh , ảnh hưởng đến game.
|
|
|
Hôm nay , log access của mình liên tục nhận được thông báo này , từ IP đó , với nội dung cố định đó . Cho mình hỏi đây là gì vậy mấy bạn ? ....
58.186.167.115 - - [08/Feb/2008:03:29:46 +0700] "GET /tamu/main.php?op=rankings HTTP/1.1" 200 18692
58.186.167.115 - - [08/Feb/2008:03:29:46 +0700] "GET /tamu/main.php?op=rankings HTTP/1.1" 200 18692 "-" "Microsoft URL Control - 6.00.8862"
58.186.167.115 - - [08/Feb/2008:03:29:58 +0700] "GET /tamu/main.php?op=rankings HTTP/1.1" 200 18693
58.186.167.115 - - [08/Feb/2008:03:29:58 +0700] "GET /tamu/main.php?op=rankings HTTP/1.1" 200 18693 "-" "Microsoft URL Control - 6.00.8862"
58.186.167.115 - - [08/Feb/2008:03:30:10 +0700] "GET /tamu/main.php?op=rankings HTTP/1.1" 200 18693
58.186.167.115 - - [08/Feb/2008:03:30:10 +0700] "GET /tamu/main.php?op=rankings HTTP/1.1" 200 18693 "-" "Microsoft URL Control - 6.00.8862"
58.186.167.115 - - [08/Feb/2008:03:30:16 +0700] "GET /tamu/main.php?op=rankings HTTP/1.1" 200 18693
58.186.167.115 - - [08/Feb/2008:03:30:16 +0700] "GET /tamu/main.php?op=rankings HTTP/1.1" 200 18693 "-" "Microsoft URL Control - 6.00.8862"
58.186.167.115 - - [08/Feb/2008:03:30:23 +0700] "GET /tamu/main.php?op=rankings HTTP/1.1" 200 18693
58.186.167.115 - - [08/Feb/2008:03:30:23 +0700] "GET /tamu/main.php?op=rankings HTTP/1.1" 200 18693 "-" "Microsoft URL Control - 6.00.8862"
58.186.167.115 - - [08/Feb/2008:03:30:29 +0700] "GET /tamu/main.php?op=rankings HTTP/1.1" 200 18693
58.186.167.115 - - [08/Feb/2008:03:30:29 +0700] "GET /tamu/main.php?op=rankings HTTP/1.1" 200 18693 "-" "Microsoft URL Control - 6.00.8862"
|
|
|
Một số người khuyên mình nên triển khai kiểu khi bị đánh thì sẽ tự forward sang 1 máy khác để máy đó chịu , không ảnh hưởng đến máy chính . Các bạn cho mình hỏi đây là triển khai kiểu gì và thiết bị cần thiết là gì được không ?
|
|
|
Bạn nói rất có lý . Mình không phải không suy nghĩ khi giải quyết . Mình đã thử tổ chức lại mô hình mạng cho hợp lý , thử đủ giải pháp bằng phần mềm để phòng chống nhưng vẫn không có tác dụng. Có lẽ giải pháp mua 1 security router hiện nay là bắt buộc rồi . Gần tết nên kinh phí hơi hạn hẹp . Mình tính mua Draytek Vigor2910 . Có chức năng Load Balancing <- Cái này không quan trọng cho lắm vì mình cần chức năng security để chống ddos và flood , liệu nó có khả năng không nhỉ. thấy quảng cáo thì có nhưng chắc chỉ những người đã sử dụng mới biết . Mấy bạn cho mình ý kiến nhé .
|
|
|
Thông tin về bài viết đó chưa đủ. Tôi đã để link của công cụ mà tôi giới thiệu cho bạn trong chữ "này" rồi mà. Cụ thể là ở đây: http://www.sniff-em.com/hardenit.shtml. Bạn tải về và thắt chặt thêm cho phần TCP/IP trên Web server của mình.
Xin lỗi , mình đọc không kĩ nên tưởng đó là phần mềm sniff.
Tạo một db user khác để dùng cho web php, và thắt chặt quyền và balance cho nó, phần nào sẽ đỡ cho user dành cho game server
Cách này đã thất bại luôn rồi. HIc.
Tớ sẽ ngâm cứu đoạn sniff mà bạn cung cấp xem có manh mối gì không. Hi vọng có thể giúp được bạn điều gì đó.
Cảm ơn bạn rất nhiều. Đã thiết lập Harden-It rồi . Sáng mai mình sẽ có kết quả
|
|
|
vivashadow wrote:
Bổ sung: (kô sửa bài trên dc)
4. Tạo một db user khác để dùng cho web php, và thắt chặt quyền và balance cho nó, phần nào sẽ đỡ cho user dành cho game server
Wao . Ý kiến này hay quá . Quả là chưa thử , chưa nghĩ tới . Cảm ơn bạn nhiều
|
|
|
seraphpl wrote:
Bạn dùng 2 line riêng, 1 cho web, 1 cho server (servergame)
Ms sql bạn để trên máy web hay máy server?
Web liên hệ với server qua trao đổi dữ liệu với sql
Không biết bạn thiết kế theo mô hình nào
1) Web + MS sql <--------------> servergame
2) Web <--------> MS sql <-----> servergame
3) Web <--------------> MS sql + servergame
(Từng cụm là từng máy, 2 màu thể hiện 2 line khác nhau)
Nó dos web mà ảnh hưởng tới server thì mình nghĩ là trong phần dịch vụ của web, nếu không thì chỉ có web có vấn đề thôi, đằng này server cũng "hưởng" theo.
Nó đấy , là nó đấy , vấn đề mà mình đau đầu , không hiểu nổi . Cả 3 phương án trên mình đều đã thử hết . Và cả 3 phương án đều bị flood tè le . Biết là bị tấn công . Biết là bị tấn công từ web . Mà không biết là how'd they do that
|
|
|
|
|
|
|