Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1. Безбедносни проблеми (есеј)
- Есеј на тема поврзана со преглед на безбедносни проблеми, ризици, познати или помалку познати нарушувања на компјутерска безбедност,...
- Есејот треба да биде минимум 5 страни и во него да има нетехнички осврт на некоја од темите погоре.
- _______________________________________________________________________________________________________________________________________
- 2. Ранливости на рутирачки протоколи (есеј)
- Цел: Продлабочување на познавањето на областа на мрежната безбедност
- Формат: Документ од најмалку 5 страни
- Потребно е да се проучат компјутерските и мрежните ранливости, а потоа во докумнетот да се опишат најмалку 10 такви ранливости.
- Посебно да се обрне внимание на
- - Ранливости на рутирачки алгоритми: route and sequence number spoofing, нестабилност и ефекти на резонанца
- - TCP/UDP ранливости
- - ICMP redirect ризикот: denial of service
- - ARP ризици: фантомски извори, ARP експлозии, спори линкови
- - Фрагментациски ризици: ICPM echo overrun
- _______________________________________________________________________________________________________________________________________
- 3. Слушање и снимање на мрежен сообраќај
- Целта на вежбата е запознавање со алатките за слушање и снимање (sniffing) на мрежен сообраќај.
- Вежбата се состои во 3 нивоа: основно, средно и напредно. Основното ниво е доволно за да се признае вежбата како изработена. Средното ниво носи 75% од поените на вежбата. Изработеното напредено ниво носи 100%, како и во зависност од конфигурацијата и разработените сценарија, уште дополнителни 100% поени (како да сте изработиле уште една екстра лабораториска вежба).
- I. Основно ниво: Инсталација и користење на Wireshark за снимање на сообраќај од локалната машина. Се предава word документ со текст и слики.
- Потребно е да се инсталира алатката, достапна на нивниот сајт. Симнете ја верзијата за вашиот оперативен систем, инсталирајте ја и почнете да го снимате сообраќајот на мрежата.
- Обидете се да ги идентификувате следните типови на сообраќај и вметнете screenshots за секој од нив, со објаснување за каков тип на сообраќај и податоци се работи
- Ethernet broadcast
- UTP сообраќај
- TCP сообраќај
- HTTP сообраќај
- HTTPS сообраќај
- HTTP пристап до web site кој користи clear text автентикација
- сообраќај до SMTP сервер кој не користи и кој користи енкрипција
- ....
- II. Средно ниво: Користење на Wireshark за снимање на сообраќај од виртуелна машина. Се предава word документ со текст и слики.
- Инсталирајте Oracle Virtual Box (преземете го од тука). Потоа симнете некоја lightweight виртуелна машина со Linux (како на пример https://communities.vmware.com/docs/DOC-21621 , или https://networkjutsu.com/damn-small-linux/).
- Направете различни начини на користење на виртуелната мрежа. Снимајте сообраќај од виртуелната машина кон локалната машина или кон надворешен сервер. Снимете ги истите типови на сообраќај како и во ниво 1.
- III. Напредно ниво: Креирање на комплексно сценарио од 3 виртуелни машини и нивно поврзување со GNS3.
- Креирајте најмалку 3 различни Linux виртуелни машини во Virtual Box. (може сите да бидат ист тип, само што ќе морате да ги креирате 3 пати во Virtual Box). Додадете ги во GNS3 трите виртуелни машини. Споите ги со обичен мрежен hub.
- Генерирајте сообраќај помеѓу машините и обидете се да го снимате со Wireshark.
- На едната од машините обидете се да инсталирате Burp suite, а на другата web server. Од третата машина, обидете се пристапите до серверот, при што сообраќајот ќе го наслушнувате со Burp suite. Обидете се да го промените сообраќајот кој се враќа од серверот кој клиентот.
- Дополнително, во GNS3 можете да направите поврзување кон реален интернет, за повеќе информации, прочитајте тука http://www.smartpctricks.com/2014/06/connecting-gns3-real-networks.html
- _______________________________________________________________________________________________________________________________________
- 4. Пробивање на шифри
- Warning
- Whatever you do in the context of this assignment is for self-improvement purposes only, it is an exercise.
- 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.
- You must run these attacks against the given target server.
- Objectives
- 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.
- Specifically, you will deal with:
- educated guesses for picking low-hanging fruits
- dictionary attacks
- background checks that narrow down the scope of the problem
- the relative ease of brute-forcing simple and short passwords
- The target
- Your attacks are oriented against an SSH server, running on an unknown port at an IP address distributed over our mailing list.
- 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.
- level1 is the easiest one to break into. Once you log in, you will be given a hint for the next level.
- 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.
- To sum things up, these are the initial conditions:
- the target IP (in the mailing list)
- the individual username and password sent to you by email
- That's it! Feel free to ask any questions about the assignment, you might get truthful answers.
- Tools
- You are free to use whatever tools you find appropriate.
- It can be a custom script you wrote, or an existing tool you found on the Internet or a hybrid approach.
- You can combine tools together to achieve a better performance, or to accomplish certain phases of your attack.
- Feel free to use more than one computer to distribute the problem among multiple agents.
- People can be tools too, perhaps you could use them as well.
- Objectives
- Obtain as many credentials as you can
- Write a report that explains:
- Your modus operandi
- Thoughts on how to make it even faster
- Explain which methods can be applied by administrators to make these attacks impossible
- Recommendations for users on how to secure their accounts
- What made some levels easy?
- What made some levels hard? Why?
- What were the problems you encountered in this assignment and how you addressed them
- List the content of the reward.txt for each broken into account.
- 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.
- Constraints
- Do NOT attempt to use the machine for other purposes, say - sending out spam, serving files, establishing connections to other hosts, and so on.
- _______________________________________________________________________________________________________________________________________
- 5. Криптографија:
- Оваа вежба се работи во парови. Секој студент треба да избере свој колега со кого ќе ги разменува шифрираните пораки, во обид да се пробијат или да се увиди комплексноста на процесот на пробивање.
- Како резултат се предава Word документ.
- Во секој од чекорите ќе се запознаете со по еден начин на ширфрирање на порака. Пораката ќе биде обична текст датотека која вашиот колега ќе се обиде да ја дешифрира. Целта на вежбата е да увидите дека некои криптографски механизми се многу покомплексни од другите и нудат многу повисоко ниво на заштита.
- 1. Чекор 1: просто ротирање.
- Направете една текст датотека со неколку реченици. Потоа, шифрирајте ја датотеката со ROT13 (https://en.wikipedia.org/wiki/ROT13). Една можна имплементација на линукс базирани системи е:
- cat poraka.txt | tr a-mn-zA-MN-Z n-za-mN-ZA-M > poraka_rot13.txt
- Видете ја содржината на poraka_rot13.txt.
- Направете ваша шифра базирана на ротација од одреден број знаци, шифрирајте ја пораката и дајте ја на колегата да ја дешифрира (при тоа не треба да знае за колку е направена ротацијата). Обидете се да ја дешифрирате пораката која ќе ја добиете од колегата (за која исто така не знаете со која ротација е направена)
- Во документот треба да ги ставите вашата датотека, начинот на кој ја реализиравте ротацијата, вашата шифрирана датотека, шифрираната датотека на колегата, вашата програма-скрипта-постапка за дешифрирање и дешифрираната датотека од колегата (ако успеете да ја дешифрирате).
- 2. Чекор 2: Симетрична енкрипција со AES
- За да се зајакне заштитата, можете да користите AES како посилен механизам.
- Направете текстуална датотека и извршете ја следната команда:
- sudo openssl enc –aes-128-ecb –nosalt -p –in poraka.txt -out poraka.aes
- Апликацијата ќе ви побара шифра според која ќе го генерира симетричниот клуч. Поради опцијата -p истиот ќе ви биде испечатен на екранот.
- Дајте ги оригиналната и шифрираната датотеката на вашиот колега, заедно со клучот, а вие земете ги неговата-нејзината датотеки со неговиот/нејзиниот клуч и обидете се да ја дешифрирате и споредете дали се исти. Наредбата е
- sudo openssl enc –d –aes-128-ecb –nosalt –in poraka.aes –out poraka.aesdec
- Во документот ги внесувате вашата оригинална и шифрирана датотека, клучот, како и датотеките и клучот од колегата со кој разменувате датотеки.
- 3. Чекор 3: Разбивање на AES.
- Повторете ја постапката од чекор 2, но овој пат на колегата пратете му 2 шифрирани датотеки, една со "лесен" клуч, друга со "тежок", односно сложен клуч, без да му-и ги кажувате клучевите. Потоа обидете се да ги "разбиете" односно дешифрирате датотеките кои ги добивте од колегата.
- Во документот ги внесувате вашите датотеки (оригинални и шифрирани), вашите клучеви, како и датотеките од колегата (шифрирани и дешифрирани), заедно со постапката-програмата-скриптата која ја користевте за дешифрирање. Забелешка: првата датотека треба да биде лесна за дешифрирање.
- 4. Чекор 4: Интегритет на порака
- Направете текст датотека со неколку реченици текст. Потоа на датотеката пресметајте хаш вредност со MD5 и SHA1 алгоритмите, на следниот начин
- sudo openssl dgst –md5 poraka.txt
- sudo openssl dgst –sha1 poraka.txt
- Запишете ги и двете хеш вредности. Дајте ја датотеката и хаш вредностите на вашиот колега. За проверка на интегритетот на пораката, на датотеката што ќе ја добиете вашиот колега извршете ги истите наредби и споредете дали ќе ги добиете истите клучеви.
- Потоа, направете минимална промена во датотеката (може да биде само промена на 1 буква), и повторно пресметајте ги вредностите.
- Во документот се запишува вашата датотеката, хеш вредностите со двата алгоритми, датотеката од колегата, неговите хеш вредности, вредностите што вие ќе ги пресметата за оригиналната датотека од колегата, како и променетата датотека и новите хеш вредности. Ако направите програма-процедура-скрипта за верификување, поставете ја и неа во документот.
- 5. Чекор 5: Двоен интегритет на порака
- Повторете ги постапките од чекор 4, но наместо MD5 или SHA1, користете SHA256, со дополнителен password. Синтаксата е:
- openssl dgst –sha256 –hmac <password> poraka.txt
- Забележете како хаш кодот се менува ако на истата датотека ја повторите постапката со друг password.
- Направете го ова на 2 различни датотеки, со 2 различни password-и. Потоа, на колегата пратете му ги и двете датотеки, двата хешови, но само едниот password. Што се случува со хешот за датотеката за која нема да добиете password од колегата?
- Во документот се внесуваат вашите две датотеки, двата хешови и двата password–и, како и двете датотеки, двата хешови и едниот password кој ќе го добиете од колегата, а потоа обидете се да го погодите другиот, така што хешовите и на втората датотека ќе бидат исти.
- _______________________________________________________________________________________________________________________________________
- 6. ПКИ:
- Оваа вежба се работи во парови. Секој студент треба да избере свој колега со кого ќе ги разменува шифрираните пораки, во обид да се пробијат или да се увиди комплексноста на процесот на пробивање.
- Како резултат се предава Word документ.
- Во секој од чекорите ќе се запознаете со по една примена на PKI.
- 1. Чекор 1: генерирање на клучеви и шифрирање.
- Генерирајте пар на јавен и приватен клуч. Ова најлесно ќе го направите на Linux систем со наредбите:
- sudo openssl genrsa –out kluc.key 1024
- sudo openssl rsa –text –in kluc.key
- Експортирајте го јавниот клуч со наредбата:
- sudo openssl rsa –in kluc.key –pubout > kluc.pub
- Разменете ги со колегата јавните клучеви (kluc.pub). Клучот на колегата зачувајте го како kolega_kluc.pub
- Направете текстуална датотека text.txt и со јавниот клуч на колегата (kolega_kluc.pub) шифрирајте ја со наредбата
- sudo openssl rsautl –encrypt –inkey kolega_kluc.pub –pubin –in text.txt –out text.rsa
- Испратете ја датотеката на колегата, а од него добијте шифрирана датотека со вашиот јавен клуч (moj_text.rsa)
- Декриптирајте ја датотекат што колегата ја шифрирал со вашиот јавен клуч со наредбата
- sudo openssl rsautl –decrypt –inkey kluc.key –in moj_text.rsa –out moj_text.dec
- Проверете со колегата дали разменетите датотеки успешно сте ги дешифрирале.
- Во документот треба да ги ставите вашата датотека, вашиот јавен клуч,вашата шифрирана датотека, шифрираната датотека на колегата, јавниот клуч на колегата и дешифрираната датотек.
- 2. Чекор 2: дигитални потписи
- Користејќи го вашиот таен клуч потпишете една текстуална датотека text.txt со наредбата:
- sudo openssl dgst –sha1 –sign kluc.key –out text.sig text.txt
- Испратете му ги на колегата text.txt, text.sig и јавниот клуч kluc.pub
- Истите датотеки добијте ги од колегата и обидете се да го верифицирате потписот со наредбата
- openssl dgst –sha1 –verify kolega_kluc.pub –signature kolega_text.sig kolega_text.txt
- Направете промена во текстуалната датотека (променете барем 1 карактер) и извршете ја повторно наредбата. Дали верификацијта на потписот ќе биде успешна.
- Во документот треба да ги ставите вашата датотека, вашиот јавен клуч,вашиот потпис на датотеката, потписот на датотека на колегата, текстуалната датотека на колегата, јавниот клуч на колегата, како и променетата датотека и резултатот на неуспешната верификација.
- 3. Чекор 3: Дигитални сертификати
- Аплицирајте за бесплатен дигитален персонален сертификат. Импортирајте го сертификатот во вашиот email клиент и испратете email потпишан со вашиот сертификат на [email protected] со тема [Test za potpisana poraka]
- Во документот внесете ги сите чекори за аплицирање, увезување на сертификатот и испраќање на потпишана порака.
- _______________________________________________________________________________________________________________________________________
- 7. Forensics
- Keywords
- malware analysis, obfuscation, web-site hack, pwned, pwnage, reverse engineering, reversing
- Background story
- 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.
- Visiting those pages would bring up an online pharma store that would offer Viagra, Cialis et al.
- Objectives
- Examine the directory structure of a hacked web-site
- Find the pharma-store
- Find the malware
- Overcome the obfuscation techniques to see what the malware does
- Understand how the attack happened and what the attacker's objectives were
- Workflow
- 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.
- Document your findings by including file fragments, code samples or screenshots.
- Let the questionnaire below guide your research.
- Devise a set of recommendations for web-site owners, to help them avoid getting hacked.
- Self-test questions
- Which attack vector was leveraged to make the hack possible?
- Why did the attacker obfuscate the malware?
- What obfuscation techniques were employed?
- Why did the malware not leave any visible traces on the front-end?
- What could have been the motivation of the attacker?
- How did the attacker ensure that only they could access the malware on the site after it got pwned?
- What would be an easy way to identify malicious files in a web-application?
- How to find other web-sites that were compromised using the same technique?
- How can you find out the attacker's password?
- Use of certain functions in the code of a web application is possibly a recipe for a disaster - which functions are those?
- How can you catch the attacker?
- What methods are employed by the attacker to ensure the malware stays there after you remove the malicious files?
- What mistakes committed by the site owner made the attacker's job easier?
- Tools
- Nothing specific here, use whatever you want. You might need:
- a directory and file comparison tool
- Far or Midnight commander, or anything that can search for a specific string inside a number of files
- command line skills
- https://www.dropbox.com/s/fuotcq7glwsztds/faf-hack-pwned-site-input.zip?dl=0
- _______________________________________________________________________________________________________________________________________
- 8. Protocols
- Keywords
- UDP, IP, BSD sockets, protocol, reverse engineering, sniffing, privacy, spoofing
- Objectives
- Understand and document the protocol used by QuickChat - a chat program for local area networks.
- get used to reverse engineering
- learn to appreciate the documentation, when you have it ;-)
- learn to document your activities
- 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.
- The only implementation of the protocol that is still in use is not open source. You'll have to do it the hard way.
- Requirements
- 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.
- The document must cover the following minimal set of events/actions:
- sending a public message
- sending a private message
- changing the chat topic
- changing a nickname
- changing the status
- creating, joining, leaving a channel
- Example:
- change nickname: "05 %s-old_nickname% %s-new_nickname%"
- change status: "04 %i-status_code%"
- 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.
- Extended requirements
- Build a minimalistic client which provides these features:
- spoofing - send a private or a public message on someone else's behalf
- noPrivacy - read all private messages that were sent to other users
- Notes
- 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;
- 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;
- If you build such a program, it does not have to be one with a GUI, a command line application will do.
- References
- QuickChat 1.5, http://setmaster.narod.ru/quickChat.rar
- A network sniffer is an indispensable tool for this task, try Wireshark, oSpy or Microsoft Network Monitor
- A virtual machine will be handy if you don't have several computers at hand:
- VMWare player, http://www.vmware.com/products/player/
- Virtualbox, http://www.virtualbox.org/
- _______________________________________________________________________________________________________________________________________
- 9. Intrusion Prevention Systems
- Во рамките на лабораториската вежба треба да инсталирате Snort (https://www.snort.org) како Open Source IPS. Истиот можете да го инсталирате на дирекно на вашиот компјутер или во виртуелна машина. Потоа треба да проучите најмалку 5 различни правила од листата (https://www.snort.org/rules_explanation) и истите да се обидете да ги имплементирате на вашата инсталација и да се обидете барем за некои од нив, со помош на соодветен сообраќај да ги активирате.
- Се предава word документ со опис на вашата инсталација и конфигурација, образлложение на избраните правила како и сценаријата за нивно активирање.
- _______________________________________________________________________________________________________________________________________
- 10. Kali Linux
- Kali Linux contains a large amount of penetration testing tools from various different niches of the security and forensics fields.
- Секој студент треба да избере преку анкетата дадена тука една од областите на примена на Kali linux дадени на линкот http://tools.kali.org/tools-listing
- При тоа, за избраната област, треба да се разработат и документираат начините за нивно користење на барем 3 алатки од таа област. Се прикачува архива во која треба да има по еден документ за секоја од алатките, кој објаснува за што може да се користи таа алатка, како се користи (преку лично испробан и документиран пример). Дополнително, во архивата можат да се стават и конфигурациски параметри, пример скрипти и се што мислите дека е релеватно за користењето на избраните три алатки.
- Забелешка: студентите кои ќе ги изберат областите Information gathering, Web applications, Password attacks, потребно е да се координираат меѓусебно за да нема преклопување во избраните алакти. Кај останатите области, изборот е еден студент по област.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement