Using NMap XML output

It is widely known that NMap is the most underestimated penetration testing tool out there, so in case you don’t use its XML output to the full extent (as I did just a month ago), this post is for you.

There is a whole section in NMap help dedicated to output formats.

OUTPUT:
-oN/-oX/-oS/-oG <file>: Output scan in normal, XML, s|<rIpt kIddi3, and Grepable format, respectively, to the given filename.
-oA <basename>: Output in the three major formats at once
-v: Increase verbosity level (use -vv or more for greater effect)
-d: Increase debugging level (use -dd or more for greater effect)
--reason: Display the reason a port is in a particular state
--open: Only show open (or possibly open) ports
--packet-trace: Show all packets sent and received
--iflist: Print host interfaces and routes (for debugging)
--append-output: Append to rather than clobber specified output files
--resume <filename>: Resume an aborted scan
--stylesheet <path/URL>: XSL stylesheet to transform XML output to HTML
--webxml: Reference stylesheet from Nmap.Org for more portable XML
--no-stylesheet: Prevent associating of XSL stylesheet w/XML output

With time I got used to type -oA <basename> in order to get the reports in three formats: actual NMap output in .nmap, greppable text in .gnmap, and XML document in .xml.

Most people I know get confused when it comes to XML parsing, so the most popular use for NMap XML output is to open it in Zenmap, look at nice graphs, play around with sorting, and then close and never open it again. The first good news is that you can open multiple XML files in Zenmap by adding new files to those already open. This is handy, but you can’t save everything you’ve opened altogether to a new XML document, so this opportunity is of limited use.

Second, you can use xsltproc tool (in OS X it can be obtained by brewing libxml2) to create a nicely looking HTML report out of your NMap XML. Just type…

xsltproc report.xml > report.html

…and you’re done. Then you can open it in any browser and enjoy. You can also change the resulting HTML style by editing nmap.xsl file (brew puts it to /usr/local/share/nmap/) to add custom highlights and virtually anything you can get out of an XML.

That’s all good, but we rarely have just one NMap scan per engagement, right? And combining multiple XML files into one document is not something you can do easily. For that, you can use xml-cat tool from xml-coreutils. It simply concatenates multiple XML documents putting the <root>…</root> container around them. To use xsltproc with the result you have to replace root with nmaprun and add the following header right after the first line of the XML file for it to look like this:

<?xml version=”1.0"?>
<!DOCTYPE nmaprun>
<?xml-stylesheet href=”file:///usr/local/bin/../share/nmap/nmap.xsl” type=”text/xsl”?>
<nmaprun>
(everything between <root> and </root> does here)
</nmaprun>

After that, you can generate a pretty HTML report and review your NMap scan results sipping coffee and listening to music.

Hope this helps, stay safe, till next time!

За мотивами лекції з соціальної інженерії в КПІ

Короткий список рекомендованої літератури, складений за мотивами запитань від студентів на лекції про соціальну інженерію в ФІОТ КПІ.

Список рекомендованої літератури

Минулої п’ятниці мав змогу поспілкуватися з першокурсниками факультету ФІОТ КПІ. Розпочалося все як у фільмі жахів. Я ж прийшов з усіма прибамбасами: з ноутом, щоб презу показать, з блютуз колонкою, щоб відео продемонструвати зі звуком і т.д. Але реальність все розставила по місцях — наявний проєктор мав лише VGA і спілкуватися по ньому погодився лише з віндою, а вінда своєю чергою не захотіла спарюватися з колонкою. Отже, довелось мені брати в руки крейду з ганчіркою та згадувати молодість. І я вважаю що вийшло навіть краще ніж могло з використанням хай-тек вмісту мого рюкзака.

Отже, що я можу вам сказати. Маю стриману надію що студент в Україні є. Рівень підготовки аудиторії загалом радує, а в окремих випадках — вражає. Зізнаюсь чесно, мене в їхньому віці цікавили зовсім інші речі.

Мова йшла про соціальну інженерію (совпадєніє? нє думаю…) тому розпочинати довелось з самого початку і півтори години для розкриття теми очевидно не вистачило. Наприкінці виступу постали цілком логічні питання куди бігти за більш фундаментальними знаннями, відповідь на яке я частково дав, але докладно вирішив оформити в вигляді цього посту. Так що ось вам список рекомендованої макулатури з питань соціальної інженерії та її використання на користь і навпаки.

Про соціальну інженерію

  • Книжка про соціальну інженерію відомого бізнесмена в цій галузі. Я не можу сказати, що Кріс відрізняється талантом у літературі або предметній області, але може саме з цієї причини результати його роботи відзначаються методичністю та системністю підходу. Christopher Hadnagy, Social Engineering: The Art of Human Hacking 1st Edition
  • Перші мемуари Кевіна Мітніка, читається нормально, дуже багато практичних прикладів та порад з протидії використаним методам. Після цього Кевіна охопила зіркова хвороба і подальші його твори трошки нуднуваті. Kevin D. Mitnik, The Art of Deception: Controlling the Human Element of Security
  • Щомісячний подкаст Кріса Хеднегі (див. вище), цікавий зокрема через гостей та інтерв’ю. www.social-engineer.org
  • Мої виступи “Правда про ложь” та “Прелюдия к атаке” в розділі “Виступи” цього блогу. Насолоджуйтесь 🙂

Про принципи та методи впливу

  • Системне викладення методів впливу та стратегій протидії ним. Крута наукова книжка, написана провідним психологом Робертом Чіалдіні, якого природа не обділила літературним талантом. Robert B. Cialdini, Influence: The Psychology of Persuasion, Revised Edition
  • Не менш крута книжка не менш крутого вченого, цього разу про принципи поведінкової (читати: нераціональної) економіки. Адам Сміт був неправий, а Ден Аріелі – правий: економіка це додаток не математики, а психології. Dan Arieli, Predictably Irrational, Revised and Expanded Edition: The Hidden Forces That Shape Our Decisions
  • Курс на Coursera, побудований на роботах Чіалдіні та інших крутих авторів. Якщо нема часу або ліньки читати, це те ще вам треба. University of Michigan, Influencing People

Про універсальні емоції та невербальну комунікацію

  • Без коментарів, Пол Екман це патріарх психології емоцій, його роботи пересічними громадянами не обговорюються. Paul Ekman, Emotions Revealed
  • Джо Наварро 25 років працював в ФБР у спецпідрозділі, який займався вивченням та застосуванням невербальних комунікацій в боротьбі з федеральними злочинцями та міжнародними шпигунами. Потім звільнився, заснував консалтинговий бізнес, та написав пачку книжок, цю я вважаю найкращою. Joe Navarro, What Every BODY is Saying: An Ex-FBI Agent’s Guide to Speed-Reading People