Advertisement
Guest User

Мрежна безбедност (лаб.вежби)

a guest
Feb 12th, 2018
1,013
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 30.44 KB | None | 0 0
  1. 1. Безбедносни проблеми (есеј)
  2. Есеј на тема поврзана со преглед на безбедносни проблеми, ризици, познати или помалку познати нарушувања на компјутерска безбедност,...
  3. Есејот треба да биде минимум 5 страни и во него да има нетехнички осврт на некоја од темите погоре.
  4. _______________________________________________________________________________________________________________________________________
  5. 2. Ранливости на рутирачки протоколи (есеј)
  6. Цел: Продлабочување на познавањето на областа на мрежната безбедност
  7. Формат: Документ од најмалку 5 страни
  8. Потребно е да се проучат компјутерските и мрежните ранливости, а потоа во докумнетот да се опишат најмалку 10 такви ранливости.
  9. Посебно да се обрне внимание на
  10.  
  11. - Ранливости на рутирачки алгоритми: route and sequence number spoofing, нестабилност и ефекти на резонанца
  12.  
  13. - TCP/UDP ранливости
  14.  
  15. - ICMP redirect ризикот: denial of service
  16.  
  17. - ARP ризици: фантомски извори, ARP експлозии, спори линкови
  18.  
  19. - Фрагментациски ризици: ICPM echo overrun
  20. _______________________________________________________________________________________________________________________________________
  21. 3. Слушање и снимање на мрежен сообраќај
  22.  
  23. Целта на вежбата е запознавање со алатките за слушање и снимање (sniffing) на мрежен сообраќај.
  24.  
  25. Вежбата се состои во 3 нивоа: основно, средно и напредно. Основното ниво е доволно за да се признае вежбата како изработена. Средното ниво носи 75% од поените на вежбата. Изработеното напредено ниво носи 100%, како и во зависност од конфигурацијата и разработените сценарија, уште дополнителни 100% поени (како да сте изработиле уште една екстра лабораториска вежба).
  26.  
  27. I. Основно ниво: Инсталација и користење на Wireshark за снимање на сообраќај од локалната машина. Се предава word документ со текст и слики.
  28.  
  29. Потребно е да се инсталира алатката, достапна на нивниот сајт. Симнете ја верзијата за вашиот оперативен систем, инсталирајте ја и почнете да го снимате сообраќајот на мрежата.
  30.  
  31. Обидете се да ги идентификувате следните типови на сообраќај и вметнете screenshots за секој од нив, со објаснување за каков тип на сообраќај и податоци се работи
  32.  
  33. Ethernet broadcast
  34. UTP сообраќај
  35. TCP сообраќај
  36. HTTP сообраќај
  37. HTTPS сообраќај
  38. HTTP пристап до web site кој користи clear text автентикација
  39. сообраќај до SMTP сервер кој не користи и кој користи енкрипција
  40. ....
  41.  
  42. II. Средно ниво: Користење на Wireshark за снимање на сообраќај од виртуелна машина. Се предава word документ со текст и слики.
  43.  
  44. Инсталирајте Oracle Virtual Box (преземете го од тука). Потоа симнете некоја lightweight виртуелна машина со Linux (како на пример https://communities.vmware.com/docs/DOC-21621 , или https://networkjutsu.com/damn-small-linux/).
  45.  
  46. Направете различни начини на користење на виртуелната мрежа. Снимајте сообраќај од виртуелната машина кон локалната машина или кон надворешен сервер. Снимете ги истите типови на сообраќај како и во ниво 1.
  47.  
  48. III. Напредно ниво: Креирање на комплексно сценарио од 3 виртуелни машини и нивно поврзување со GNS3.
  49.  
  50. Креирајте најмалку 3 различни Linux виртуелни машини во Virtual Box. (може сите да бидат ист тип, само што ќе морате да ги креирате 3 пати во Virtual Box). Додадете ги во GNS3 трите виртуелни машини. Споите ги со обичен мрежен hub.
  51.  
  52. Генерирајте сообраќај помеѓу машините и обидете се да го снимате со Wireshark.
  53.  
  54. На едната од машините обидете се да инсталирате Burp suite, а на другата web server. Од третата машина, обидете се пристапите до серверот, при што сообраќајот ќе го наслушнувате со Burp suite. Обидете се да го промените сообраќајот кој се враќа од серверот кој клиентот.
  55.  
  56. Дополнително, во GNS3 можете да направите поврзување кон реален интернет, за повеќе информации, прочитајте тука http://www.smartpctricks.com/2014/06/connecting-gns3-real-networks.html
  57. _______________________________________________________________________________________________________________________________________
  58. 4. Пробивање на шифри
  59.  
  60. Warning
  61.  
  62. Whatever you do in the context of this assignment is for self-improvement purposes only, it is an exercise.
  63. Doing the same thing out there in the wild will get you in trouble, in the worst case - you can get your ass kicked really hard.
  64. You must run these attacks against the given target server.
  65.  
  66. Objectives
  67.  
  68. The purpose of this assignment is to develop the skills necessary to break into systems by cracking their passwords using clever ways, other than brute force, because the latter is not always an option. As a result, you will also consider this from a defensive perspective and devise a set of security recommendations for network administrators.
  69.  
  70. Specifically, you will deal with:
  71.  
  72. educated guesses for picking low-hanging fruits
  73. dictionary attacks
  74. background checks that narrow down the scope of the problem
  75. the relative ease of brute-forcing simple and short passwords
  76.  
  77.  
  78.  
  79. The target
  80.  
  81. Your attacks are oriented against an SSH server, running on an unknown port at an IP address distributed over our mailing list.
  82.  
  83. The system has multiple user accounts: level1, level2, level3, etc. Your mission is to determine the passwords for as many of them as you can.
  84.  
  85. level1 is the easiest one to break into. Once you log in, you will be given a hint for the next level.
  86.  
  87. It is recommended that you break into these accounts in a sequential order, otherwise you won't have the tips that are crucial for simplifying the problem, and be forced to do it the hard way.
  88.  
  89. To sum things up, these are the initial conditions:
  90.  
  91. the target IP (in the mailing list)
  92. the individual username and password sent to you by email
  93.  
  94. That's it! Feel free to ask any questions about the assignment, you might get truthful answers.
  95.  
  96.  
  97. Tools
  98.  
  99. You are free to use whatever tools you find appropriate.
  100. It can be a custom script you wrote, or an existing tool you found on the Internet or a hybrid approach.
  101. You can combine tools together to achieve a better performance, or to accomplish certain phases of your attack.
  102. Feel free to use more than one computer to distribute the problem among multiple agents.
  103. People can be tools too, perhaps you could use them as well.
  104.  
  105. Objectives
  106.  
  107. Obtain as many credentials as you can
  108. Write a report that explains:
  109. Your modus operandi
  110. Thoughts on how to make it even faster
  111. Explain which methods can be applied by administrators to make these attacks impossible
  112. Recommendations for users on how to secure their accounts
  113. What made some levels easy?
  114. What made some levels hard? Why?
  115. What were the problems you encountered in this assignment and how you addressed them
  116. List the content of the reward.txt for each broken into account.
  117.  
  118. Note that failure is also a form of success, at least in this context. Even if you don't succeed in reaching an advanced level in this challenge, you still get credit for documenting what you did and revealing the rationale behind your choices.
  119.  
  120.  
  121. Constraints
  122.  
  123. Do NOT attempt to use the machine for other purposes, say - sending out spam, serving files, establishing connections to other hosts, and so on.
  124. _______________________________________________________________________________________________________________________________________
  125. 5. Криптографија:
  126.  
  127. Оваа вежба се работи во парови. Секој студент треба да избере свој колега со кого ќе ги разменува шифрираните пораки, во обид да се пробијат или да се увиди комплексноста на процесот на пробивање.
  128.  
  129. Како резултат се предава Word документ.
  130.  
  131. Во секој од чекорите ќе се запознаете со по еден начин на ширфрирање на порака. Пораката ќе биде обична текст датотека која вашиот колега ќе се обиде да ја дешифрира. Целта на вежбата е да увидите дека некои криптографски механизми се многу покомплексни од другите и нудат многу повисоко ниво на заштита.
  132. 1. Чекор 1: просто ротирање.
  133.  
  134. Направете една текст датотека со неколку реченици. Потоа, шифрирајте ја датотеката со ROT13 (https://en.wikipedia.org/wiki/ROT13). Една можна имплементација на линукс базирани системи е:
  135.  
  136. cat poraka.txt | tr a-mn-zA-MN-Z n-za-mN-ZA-M > poraka_rot13.txt
  137.  
  138. Видете ја содржината на poraka_rot13.txt.
  139.  
  140. Направете ваша шифра базирана на ротација од одреден број знаци, шифрирајте ја пораката и дајте ја на колегата да ја дешифрира (при тоа не треба да знае за колку е направена ротацијата). Обидете се да ја дешифрирате пораката која ќе ја добиете од колегата (за која исто така не знаете со која ротација е направена)
  141.  
  142. Во документот треба да ги ставите вашата датотека, начинот на кој ја реализиравте ротацијата, вашата шифрирана датотека, шифрираната датотека на колегата, вашата програма-скрипта-постапка за дешифрирање и дешифрираната датотека од колегата (ако успеете да ја дешифрирате).
  143. 2. Чекор 2: Симетрична енкрипција со AES
  144.  
  145. За да се зајакне заштитата, можете да користите AES како посилен механизам.
  146.  
  147. Направете текстуална датотека и извршете ја следната команда:
  148.  
  149. sudo openssl enc –aes-128-ecb –nosalt -p –in poraka.txt -out poraka.aes
  150.  
  151. Апликацијата ќе ви побара шифра според која ќе го генерира симетричниот клуч. Поради опцијата -p истиот ќе ви биде испечатен на екранот.
  152.  
  153. Дајте ги оригиналната и шифрираната датотеката на вашиот колега, заедно со клучот, а вие земете ги неговата-нејзината датотеки со неговиот/нејзиниот клуч и обидете се да ја дешифрирате и споредете дали се исти. Наредбата е
  154.  
  155. sudo openssl enc –d –aes-128-ecb –nosalt –in poraka.aes –out poraka.aesdec
  156.  
  157. Во документот ги внесувате вашата оригинална и шифрирана датотека, клучот, како и датотеките и клучот од колегата со кој разменувате датотеки.
  158. 3. Чекор 3: Разбивање на AES.
  159.  
  160. Повторете ја постапката од чекор 2, но овој пат на колегата пратете му 2 шифрирани датотеки, една со "лесен" клуч, друга со "тежок", односно сложен клуч, без да му-и ги кажувате клучевите. Потоа обидете се да ги "разбиете" односно дешифрирате датотеките кои ги добивте од колегата.
  161.  
  162. Во документот ги внесувате вашите датотеки (оригинални и шифрирани), вашите клучеви, како и датотеките од колегата (шифрирани и дешифрирани), заедно со постапката-програмата-скриптата која ја користевте за дешифрирање. Забелешка: првата датотека треба да биде лесна за дешифрирање.
  163.  
  164.  
  165. 4. Чекор 4: Интегритет на порака
  166.  
  167. Направете текст датотека со неколку реченици текст. Потоа на датотеката пресметајте хаш вредност со MD5 и SHA1 алгоритмите, на следниот начин
  168.  
  169. sudo openssl dgst –md5 poraka.txt
  170.  
  171. sudo openssl dgst –sha1 poraka.txt
  172.  
  173. Запишете ги и двете хеш вредности. Дајте ја датотеката и хаш вредностите на вашиот колега. За проверка на интегритетот на пораката, на датотеката што ќе ја добиете вашиот колега извршете ги истите наредби и споредете дали ќе ги добиете истите клучеви.
  174.  
  175. Потоа, направете минимална промена во датотеката (може да биде само промена на 1 буква), и повторно пресметајте ги вредностите.
  176.  
  177. Во документот се запишува вашата датотеката, хеш вредностите со двата алгоритми, датотеката од колегата, неговите хеш вредности, вредностите што вие ќе ги пресметата за оригиналната датотека од колегата, како и променетата датотека и новите хеш вредности. Ако направите програма-процедура-скрипта за верификување, поставете ја и неа во документот.
  178. 5. Чекор 5: Двоен интегритет на порака
  179.  
  180. Повторете ги постапките од чекор 4, но наместо MD5 или SHA1, користете SHA256, со дополнителен password. Синтаксата е:
  181.  
  182. openssl dgst –sha256 –hmac <password> poraka.txt
  183.  
  184. Забележете како хаш кодот се менува ако на истата датотека ја повторите постапката со друг password.
  185.  
  186. Направете го ова на 2 различни датотеки, со 2 различни password-и. Потоа, на колегата пратете му ги и двете датотеки, двата хешови, но само едниот password. Што се случува со хешот за датотеката за која нема да добиете password од колегата?
  187.  
  188. Во документот се внесуваат вашите две датотеки, двата хешови и двата password–и, како и двете датотеки, двата хешови и едниот password кој ќе го добиете од колегата, а потоа обидете се да го погодите другиот, така што хешовите и на втората датотека ќе бидат исти.
  189. _______________________________________________________________________________________________________________________________________
  190. 6. ПКИ:
  191.  
  192. Оваа вежба се работи во парови. Секој студент треба да избере свој колега со кого ќе ги разменува шифрираните пораки, во обид да се пробијат или да се увиди комплексноста на процесот на пробивање.
  193.  
  194. Како резултат се предава Word документ.
  195.  
  196. Во секој од чекорите ќе се запознаете со по една примена на PKI.
  197. 1. Чекор 1: генерирање на клучеви и шифрирање.
  198.  
  199. Генерирајте пар на јавен и приватен клуч. Ова најлесно ќе го направите на Linux систем со наредбите:
  200.  
  201. sudo openssl genrsa –out kluc.key 1024
  202.  
  203. sudo openssl rsa –text –in kluc.key
  204.  
  205. Експортирајте го јавниот клуч со наредбата:
  206.  
  207. sudo openssl rsa –in kluc.key –pubout > kluc.pub
  208.  
  209. Разменете ги со колегата јавните клучеви (kluc.pub). Клучот на колегата зачувајте го како kolega_kluc.pub
  210.  
  211. Направете текстуална датотека text.txt и со јавниот клуч на колегата (kolega_kluc.pub) шифрирајте ја со наредбата
  212.  
  213. sudo openssl rsautl –encrypt –inkey kolega_kluc.pub –pubin –in text.txt –out text.rsa
  214.  
  215. Испратете ја датотеката на колегата, а од него добијте шифрирана датотека со вашиот јавен клуч (moj_text.rsa)
  216.  
  217. Декриптирајте ја датотекат што колегата ја шифрирал со вашиот јавен клуч со наредбата
  218.  
  219.  
  220. sudo openssl rsautl –decrypt –inkey kluc.key –in moj_text.rsa –out moj_text.dec
  221.  
  222. Проверете со колегата дали разменетите датотеки успешно сте ги дешифрирале.
  223.  
  224. Во документот треба да ги ставите вашата датотека, вашиот јавен клуч,вашата шифрирана датотека, шифрираната датотека на колегата, јавниот клуч на колегата и дешифрираната датотек.
  225.  
  226.  
  227. 2. Чекор 2: дигитални потписи
  228.  
  229. Користејќи го вашиот таен клуч потпишете една текстуална датотека text.txt со наредбата:
  230.  
  231. sudo openssl dgst –sha1 –sign kluc.key –out text.sig text.txt
  232.  
  233. Испратете му ги на колегата text.txt, text.sig и јавниот клуч kluc.pub
  234.  
  235. Истите датотеки добијте ги од колегата и обидете се да го верифицирате потписот со наредбата
  236.  
  237. openssl dgst –sha1 –verify kolega_kluc.pub –signature kolega_text.sig kolega_text.txt
  238.  
  239. Направете промена во текстуалната датотека (променете барем 1 карактер) и извршете ја повторно наредбата. Дали верификацијта на потписот ќе биде успешна.
  240.  
  241. Во документот треба да ги ставите вашата датотека, вашиот јавен клуч,вашиот потпис на датотеката, потписот на датотека на колегата, текстуалната датотека на колегата, јавниот клуч на колегата, како и променетата датотека и резултатот на неуспешната верификација.
  242. 3. Чекор 3: Дигитални сертификати
  243.  
  244. Аплицирајте за бесплатен дигитален персонален сертификат. Импортирајте го сертификатот во вашиот email клиент и испратете email потпишан со вашиот сертификат на [email protected] со тема [Test za potpisana poraka]
  245.  
  246. Во документот внесете ги сите чекори за аплицирање, увезување на сертификатот и испраќање на потпишана порака.
  247. _______________________________________________________________________________________________________________________________________
  248. 7. Forensics
  249. Keywords
  250.  
  251. malware analysis, obfuscation, web-site hack, pwned, pwnage, reverse engineering, reversing
  252.  
  253.  
  254. Background story
  255.  
  256. A web-site was hacked and secretly turned into a pharma-store, i.e. it looked the same to its owners, but new pages were created and could be accessed by typing the address directly.
  257.  
  258. Visiting those pages would bring up an online pharma store that would offer Viagra, Cialis et al.
  259. Objectives
  260.  
  261. Examine the directory structure of a hacked web-site
  262. Find the pharma-store
  263. Find the malware
  264. Overcome the obfuscation techniques to see what the malware does
  265. Understand how the attack happened and what the attacker's objectives were
  266.  
  267.  
  268. Workflow
  269.  
  270. You're given an archive that contains the directory structure of a web-server running on Linux. You have to examine the contents of the archive, detect the malware and understand what it is doing.
  271. Document your findings by including file fragments, code samples or screenshots.
  272. Let the questionnaire below guide your research.
  273. Devise a set of recommendations for web-site owners, to help them avoid getting hacked.
  274.  
  275. Self-test questions
  276.  
  277. Which attack vector was leveraged to make the hack possible?
  278. Why did the attacker obfuscate the malware?
  279. What obfuscation techniques were employed?
  280. Why did the malware not leave any visible traces on the front-end?
  281. What could have been the motivation of the attacker?
  282. How did the attacker ensure that only they could access the malware on the site after it got pwned?
  283. What would be an easy way to identify malicious files in a web-application?
  284. How to find other web-sites that were compromised using the same technique?
  285. How can you find out the attacker's password?
  286. Use of certain functions in the code of a web application is possibly a recipe for a disaster - which functions are those?
  287. How can you catch the attacker?
  288. What methods are employed by the attacker to ensure the malware stays there after you remove the malicious files?
  289. What mistakes committed by the site owner made the attacker's job easier?
  290.  
  291.  
  292. Tools
  293.  
  294. Nothing specific here, use whatever you want. You might need:
  295.  
  296. a directory and file comparison tool
  297. Far or Midnight commander, or anything that can search for a specific string inside a number of files
  298. command line skills
  299.  
  300.  
  301.  
  302. https://www.dropbox.com/s/fuotcq7glwsztds/faf-hack-pwned-site-input.zip?dl=0
  303. _______________________________________________________________________________________________________________________________________
  304. 8. Protocols
  305. Keywords
  306.  
  307. UDP, IP, BSD sockets, protocol, reverse engineering, sniffing, privacy, spoofing
  308.  
  309. Objectives
  310.  
  311. Understand and document the protocol used by QuickChat - a chat program for local area networks.
  312.  
  313. get used to reverse engineering
  314. learn to appreciate the documentation, when you have it ;-)
  315. learn to document your activities
  316.  
  317.  
  318. Good news, everyone! The RFC which defines the protocol was lost, the server on which it was hosted has dematerialized, all the mirror-servers have vanished without a trace. All the people who knew how the protocol worked are missing. The protocol is practically lost, mankind is doomed! Unless... you save the day by re-writing the protocol's specification.
  319.  
  320. The only implementation of the protocol that is still in use is not open source. You'll have to do it the hard way.
  321.  
  322. Requirements
  323.  
  324. The QuickChat protocol (QCP) must be reverse-engineered first. The result of reverse-engineering must be a document that shows which messages are sent to the network when an event is triggered.
  325.  
  326. The document must cover the following minimal set of events/actions:
  327.  
  328. sending a public message
  329. sending a private message
  330. changing the chat topic
  331. changing a nickname
  332. changing the status
  333. creating, joining, leaving a channel
  334.  
  335. Example:
  336.  
  337. change nickname: "05 %s-old_nickname% %s-new_nickname%"
  338.  
  339. change status: "04 %i-status_code%"
  340.  
  341. The document must also contain a high-level description of QCP that explains the logic of the client and the order in which messages are sent in different contexts.
  342.  
  343. Extended requirements
  344.  
  345. Build a minimalistic client which provides these features:
  346.  
  347. spoofing - send a private or a public message on someone else's behalf
  348. noPrivacy - read all private messages that were sent to other users
  349.  
  350.  
  351. Notes
  352.  
  353. The requirements state that you need to reverse engineer and document the protocol, there is no need to make a program that implements that protocol;
  354. However, it will be easier for you if you make a set of primitive functions that can perform each action - this will allow you to test your guesses about the protocol's modus operandi;
  355. If you build such a program, it does not have to be one with a GUI, a command line application will do.
  356.  
  357.  
  358. References
  359.  
  360. QuickChat 1.5, http://setmaster.narod.ru/quickChat.rar
  361. A network sniffer is an indispensable tool for this task, try Wireshark, oSpy or Microsoft Network Monitor
  362. A virtual machine will be handy if you don't have several computers at hand:
  363. VMWare player, http://www.vmware.com/products/player/
  364. Virtualbox, http://www.virtualbox.org/
  365. _______________________________________________________________________________________________________________________________________
  366. 9. Intrusion Prevention Systems
  367.  
  368. Во рамките на лабораториската вежба треба да инсталирате Snort (https://www.snort.org) како Open Source IPS. Истиот можете да го инсталирате на дирекно на вашиот компјутер или во виртуелна машина. Потоа треба да проучите најмалку 5 различни правила од листата (https://www.snort.org/rules_explanation) и истите да се обидете да ги имплементирате на вашата инсталација и да се обидете барем за некои од нив, со помош на соодветен сообраќај да ги активирате.
  369.  
  370. Се предава word документ со опис на вашата инсталација и конфигурација, образлложение на избраните правила како и сценаријата за нивно активирање.
  371. _______________________________________________________________________________________________________________________________________
  372. 10. Kali Linux
  373.  
  374. Kali Linux contains a large amount of penetration testing tools from various different niches of the security and forensics fields.
  375.  
  376. Секој студент треба да избере преку анкетата дадена тука една од областите на примена на Kali linux дадени на линкот http://tools.kali.org/tools-listing
  377.  
  378. При тоа, за избраната област, треба да се разработат и документираат начините за нивно користење на барем 3 алатки од таа област. Се прикачува архива во која треба да има по еден документ за секоја од алатките, кој објаснува за што може да се користи таа алатка, како се користи (преку лично испробан и документиран пример). Дополнително, во архивата можат да се стават и конфигурациски параметри, пример скрипти и се што мислите дека е релеватно за користењето на избраните три алатки.
  379.  
  380. Забелешка: студентите кои ќе ги изберат областите Information gathering, Web applications, Password attacks, потребно е да се координираат меѓусебно за да нема преклопување во избраните алакти. Кај останатите области, изборот е еден студент по област.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement