Pentester Candidate Program November 2017

Pentester Candidate Program November 2017

On Saturday the 18th  of November 2017, Strategic Security/InfoSec Addicts relaunched the Pentester Candidate Program. This program is designed to satisfy the basic requirements of a penetration tester. The program will cover the most common technical and soft skill requirements. Top candidates will later receive job interviews for a remote penetrating testing job. This is through partnership with several penetration testing firms

Top candidates may receive interview opportunities for a cleared penetration testing position. This is more so for those with a US Security Clearance and who live in either the DC, Maryland or Virginia areas.

This is the real chance more so for those who REALLY want to become pentesters. It is the perfect combination of hands-on training, mentorship, and a real job opportunity.

Pentester opportunity just ahead

What is covered in the pentester program?

This program is hard, though rewarding. It will cover the following subject areas:

  • Command-Line Kung Fu
    • Linux Command-Line Fundamentals
    • Windows Command-Line Fundamentals
  • Network Penetration Testing
    • Scoping a penetration test
    • Performing a Penetration Test
    • Reporting penetration test findings
  • Web Application Penetration Testing
    • Scoping a web application penetration test
    • Performing a web application penetration test
    • Reporting web application penetration test findings
  • Python For InfoSec Professionals
    • Log parsing with Python
    • Pcap parsing with Python
    • Network testing with Python
    • Web App testing with Python
  • Preparing for a job as a Penetration Tester
    • Resume assistance
    • Assistance with building a portfolio based on this program
    • Mock interview
    • Interviews with up to 10 Penetration Testing firms for top candidates
    • Interviews with up to 5 DoD contractors for top cleared candidates

Pentester tools.

How is the pentester program delivered?

Candidates will receive a set of tasks each Monday. They are to complete the tasks by Sunday at midnight EST. The tasks include:

  • Reading
  • Watching videos
  • Lab exercises to perform

On Saturdays from 4:00 PM – 5:00 PM EST, a live online training session/QA period will be held.

What are prerequisites for the pentester program?

This program is more about desire. More so, it is about work ethic and ability to work in a team environment. Although Technical ability is important, it is not the most required attribute. That being said, candidates should have:

  • Familiarity with both Windows, Linux, and VMWare
  • Familiarity with basic programming concepts
  • Ability to commit 8-10 hours per week to the program

What do you receive?

  • Access to the training program
  • Weekly group mentoring sessions with Joe McCray
  • Monthly chances to speak with hiring managers and team leads. These are managers from security consulting firms. This will happen for each month of the program
  • Log book of all of your labs. This is a technical walk-through document demonstrating your proficiency to companies you interview with
  • A letter of reference from Joe McCray
  • Top candidates are guaranteed interviews with consulting firms and DoD contracting companies.

Candidates will have a chance to take ANY and AS MANY classes that they want from InfoSec Addicts. This will come as part of this program. Most notably, as many as 20 classes are held per month.

This program will run for the entire month of November to mid December (1 month). Interviews for top candidates will occur later in the month of December 2017.

Please fill out the form below to sign up for this program.





Advanced Burp Suite


Burp Suite is one of the most popular web application security testing tools. It has a ton of features and can do everything from intercepting and modifying HTTP requests/responses in real time, to scanning web applications for vulnerabilities, to brute forcing login forms, to testing the entropy of session tokens, and it even allows you to increase its functionality by writing plugins for it.

As awesome as the tool is – surprisingly few people are really comfortable with it. I decided to put together a 2-day workshop on the advanced features of the tool.

This workshop picks up where the original Burp Suite ( course left off. It assumes the student has strong familiarity with web application security fundamentals, the OWASP top 10, basic application testing with Burp Suite.

This workshop will cover:
– Integrating Burp and SoapUI for webservices testing
– Integrating SQLMap, and w3af
– Developing your own plugins (Note: you’ll need Eclipse for this)



To answer a few questions I’ve received:

  • Yes it will be recorded for those of you that can’t attend
  • True, it will be a live/interactive workshop so you can ask me questions during the event.
  • Yes you get the virtual machines as soon as you signup for the event


Class Date and Time

  • Mon, Dec 4, 2017 7:00 PM – 9:00 PM EST

  • Wed, Dec 6, 2017 7:00 PM – 9:00 PM EST



Each class will be recorded and made available to the students via email. So you can keep up with the class even if you have to miss time or even a whole day.

Extraction of Cookies in iOS Forensics

  • Why is it essential for an examiner to get some files of interest from an iOS device?


All activities of an iOS device user are stored inside the device in different formats and for various purposes as well. This evidence is apparently collected for the sake of serving the iOS user in the very first place. However, this is not the complete case. It is because the evidence obtained and stored cookies are even much more than what the user could ask for or need.

Information just like locations, messages, contacts, web surfing habits, notes, pictures and more are available on iOS devices storage media. Many of them come with time-stamped data.

From the forensics point of view, such data becomes much more and more valuable. It is since businesses begin to grow larger nowadays using iOS devices. It urges examiners to cope with any new technologies or software releases. It could offer any help with the forensics procedure and smooth extraction of data and acquisition of it.

  • Cookies of browser inside /private/var/mobile/Library

    • What is meant by cookies in the first place? cookies

Cookies are often utilized by a web page to help provide a user with web pages customized to a very great extent. Users get identified in this manner while they are assisted with personalized results and experience.

A user may be asked to get necessary information filled up when browsing a web page which makes use of it. Names and interests may be the sort of information asked for when it comes to a website depending on cookies. The browser used by the user is the one responsible for storing this critical data on the device for further usage by the site afterward. The browser gets such cookies essentially from this sever in the very first place essentially.

From the perspective of websites, it is an important aspect to have the cookies stored on a computer. It is because such cookies get sent over to the server hosting the site whenever this website is visited. Accordingly, custom pages are sent to the user depending on such cookies.

Have you ever visited a website which welcomes you with your name or shows to you the last time when you visited the site? This website is using cookies to serve you with a customized experience better when visiting their website.

Let’s talk more about exciting stuff of the cookies file. What can be found inside it in particular? Basically, inside the cookies file, there must be informed about the website there in the first place. Moreover, some personal information could be stored along with the information about the website. It is generally in the case that the user provides the site with such information. Otherwise, they will not be included.

It is interesting to know that most of such information will be of text format at the end of the day. Nonetheless, useful websites send such cookies data into the browser in an encrypted form. The fact that they want to secure the data to a great extent, so the reason for this encryption attributes. It is to ensure that they will not make sense even when extracted and acquired in some way or another.

From the perspective of an examiner performing forensics investigation, this data is very crucial in the process. It is because they represent some preferences of the user along with data such as their names and interests. It would help someone interested in an investigation to get data of interest from such cookies.

In such cookies, several vital parameters are passed through such cookies for identification and related purposes intended by the cookies mainly. Typically, the given parameters are like illustrated in the following points:

  • The name of the cookie.
  • The value of the cookie.
  • The expiration date of the cookie: this determines how long the cookie will remain in an active status in the browser of the user.
  • The path for the cookie is valid. Web pages outside of that way cannot use the cookie.
  • The domain for the cookie is valid. It makes the cookie accessible to pages on any of the servers in an area.
  • The need for a secure connection: this indicates that the cookie can only be used under the condition of having a secure server.
  • How to perform such extraction of cookies?


It is considered a significant source of evidence when it comes to forensics investigations to get the data extracted from the browser cookies. Such cookies are attached to the very popular Safari browser. The file which contains these vitally essential cookies is named cookies.binarycookies.

The different main characteristic of the standard browsers and Safari browser lies in the storage of cookies. Browsers such as Internet Explorer store their cookies data inside a plain text format file or they utilize an SQLite database format residing inside the folder of history. Safari, on the other hand, gets its browser cookies stored inside a binary format file.

It is therefore worth noting that opening such a binary format file requires a sort of specific software for this reason in the first place. Such tools could be like iPhone Extractor or any HEX editor to be able to grasp what is there inside such files of interest.

For sure we have opened such files to go through what could be inside such data. When we did that, we figured out that whenever there is a header inside the record, one or more pages are coming after it. Inside each page, there exists one or even more cookies residing there.

It is also essential to make sense of the sizes of each field constructing the cookies of such file. The signature field occupies 4 bytes by default to store the COOK header. In the meanwhile, another field named as Number of pages makes up 4 bytes to store Little Endian Integer. There is also another field called Page Size, and this one uses up 4 bytes of the storage to have another Little Endean Integer saved. An area named Page, on the other hand, varies in size according to the size of the cookies itself. Finally, the tail field has a capacity of eight bytes to store a Hash for the checksum possibly.


Extraction of applications,photos,passwords – iOS forensics

  • What are the files of interest in the first place? ios applications

Extraction of applications,photos,passwords – iOS forensics – There are several directories that one can find for investigation purposes inside an iOS. It is irrespective of whatever the device model is. The structure of directories is common among all iOS devices. The layout utilized for it is a UNIX layout. It is very vital to mention that different file formats exist in this case. Thus, there are some files of format XML, binary data, or SQL databases.

Alright, so how are we going to investigate such files without getting to know their actual location on the device? Initially, data of the default application gets stored inside the following path: private/var/mobile/Library folder. In other words, data of apps like Address Book, Mail, Calendar, Maps, Notes, YouTube, Safari, Texting, Weather and Voicemail applications. On the other hand, some other apps like NFL 2012, Shazam or AroundMe which essentially get downloaded from iTunes have their data stored in the following path: private/var/mobile/Applications.

  • Downloaded applications from iTunes in private/var/mobile/Applications ios applications

The folder: Mobile/Application is always in a dynamic status especially whenever a new application gets downloaded from iTunes. When this happens, basically a new directory gets automatically created inside this folder. Such a file contains all the embedded files that an application needs and originally comes. Also, a unique identifier of 32-character alphanumeric values. This identifier will use by any iOS devices produced by Apple after that.

An example of such an identifier could be something like“GA07A3WW- 0E39-33OJ-B947-9CAA16688G22”. When dealing with this application iOS devices is perceive as an id which is consistent and used it. By default, there are some subfolders contained by an application:

  • Documents folder: this has all the files which are relevant to an application.
  • Temp folder: any files which are runtime and temporary reside there.
  • Library folder: any data which is cached or preferences are included in this folder.

There are also some other files which are commonly found in an application folder in an iOS device. Such records are like info.plist, resourcerules.plist and applestores.db. However, configuration files, plist files, and XML data could be found varying and different according to the application itself. It also happens that some vitally essential data for an investigation process could be existent inside such folders. Such include cookies, usernames, and passwords.

  • Photos inside private/var/mobile/media/DCIM

ios applications

All photos could be found in the media/DCIM folder.  These are photos either taken via the phone itself or synced from another device. All images will have timestamp metadata. If a picture is received through the camera of the device itself, then it will reside inside a folder named 100APPLE. It will have a name which is order sequentially. It is according to when the photo was taken in comparison to the others.

To elaborate on this point, naming such photos will begin with “IMG_0001” and then this number will get incremented by one each time a new picture takes no matter how many images got removed in the way through. Taking into consideration, it shall conclude that any missing numbers throughout the used range will indicate that its associated photo is deleting for some reason.

Sometimes it is essential and most importantly exciting to get to know what programs or applications were installed on the machine before it becomes on its current state at the time of forensics. It could be identified through the folder of DCIM/999Apple. Inside this folder, all taken screenshots will be found, which will eventually help with the investigation process. Navigating through these photos will show whether a banned application suspected to have been running on the device was installed or not.

  • Keystrokes inside /private/var/mobile/Library/Keyboard ios applications

A text file named dynamic-text.dat is considered a dynamic dictionary for an iOS device. It is one of the most important directories to investigate through because every written word by the user gets stored in this dictionary at the time it gets typed. Applications like Notes, Safari, Messages, Facebook will have any typed words inside them get entered into this dynamic dictionary. In fact, any applications which are open for a text input get their text data stored in this dynamic dictionary.

The rationale behind such dictionary lies in aiding a user with the typing process. On the other hand, this aspect is perceived as a source of a precious information because common words can come to be known and hence become a keyword for searching.

The downside of this dictionary is that it does not include a timestamp metadata of its reserved words. Accordingly, the time in which a word was typed cannot be identified through this dynamic dictionary.

There is an SQLite database named UserDictionary.sqlite in which all manual auto-corrections get stored. The importance of such database from the perspective of an examiner is that any keywords could be identified whether they are technical ones, special ones, of the Standard English language, or even any acronyms which could become all of the great vitality to the investigation process.

  • Passwords inside /private/var/Keychains ios applications

The keychain of Apple to manage passwords is the one that is mostly in use when it comes to passwords of iOS applications. A database file called keychain-2.db is utilized for the sake of having different accounts and passwords which used to be utilized on the device previously. The are several tables used for saving this information. They include cert, genp, inet, keys, sqlite_sequence, and tversion.

Inside this database, there is a great deal of valuable data that could be found there such as Voicemail passwords, wireless access point key phrases and device login passcodes. While some of these passwords may be stored in an encrypted format, some others could be found in an understandable form. Nevertheless, for those encrypted ones, a password cracker utility could be seen in this case. For instance, an examiner may depend on Elcomsoft’s iPhone Password Breaker, where the extracted keychain file should be given to get such files decrypted.


Artifacts of an IOS device

Artifacts of an IOS device

  1. plist file:

    IOS device

    1. This important file is located inside the folder of the root application.
    2. Relevant information about the device of interest may be revealed from this critical file. Such information includes the name of the used Apple Account and the date when the iPhone device was primarily purchased by the user. The importance of such information may vary according to the case being investigated.
    3. One of the following files will appear in each directory of an application on the iOS device:
      1. AccountURLBagType: in a string format.
      2. CreditDisplayString: in a string format.
      3. AccountServiceTypes: in a Number format.
      4. DidFallbackToPassword: in a Boolean format.
      5. AccountStoreFront: in a string format
      6. AccountIsNewCustomer: in a Boolean format.
      7. AccountKind: in a Number format.
      8. AccountAvailableServiceTypes: in a Number format.
      9. AppleID: in a string format.
      10. AccountSocialEnabled: in a Boolean format.
      11. AccountSource: in a String format
      12. DSPersonID: in a Number format.
      13. PurchaseDate: in a string format.
  2. Timestamps

    IOS device

    1. It’s essential to understand timestamps. That is to know the timing of a piece of evidence on the device.
    2. Most timestamps used in an iOS device are MAC absolute timestamps.
    3. To get such types of timestamps that are converted into an understandable format, we can use one of the commonly available sources online that perform such conversion.
    4. Another method that could get such MAC absolute time converted is to depend on the date command with a u switch on MAC. This will get the time turned into local time on the device or UTC.
  3. Databases:

    IOS device

    1. The most commonly used database format inside an iOS device is the SQLite database. It is used for the sake of getting most of the data that is stored and organized inside the device. In fact, most phone platforms rely heavily on the same SQLite databases for storing their data. Examples of such platforms are Windows Phone operating system which used to operate on Nokia smartphones in the past for instance.
    2. Data of Apple applications gets stored inside such SQLite databases. Data of any third-party applications could get stored inside the same sort of databases as well.
    3. For the sake of getting an SQLite database opened and investigated through, there has to be a tool used for this purpose. Fortunately, there exist several open source applications coming at a zero price to perform this task and make us grasp what is inside the database. In general, SQLite Database Browser is considered to be the best and mostly utilized application to display an SQLite database file. It comes with a command line utility and an interesting GUI as well.
  4. Property List Files:
    1. Formats of data inside an iOS device are mostly of .plist formats or as more formally referred to as Property List Files.
    2. What are the main kinds of data that could get stored inside such plist format files? Any configuration information, preferences, and settings have this file formats on the iOS devices.
    3. To get such file formats opened, you can choose between two methods. While you can just open them using any text editor, plist Editor is a must to use to get these files parsed.
  5. Configuration Files:

    IOS device
    Note that there is an excellent value in extracted configuration files from the forensics point of view. The reason for that lies in the variety of such files that could be of great importance when extracted. The following points will list the different files of these:

    1. Information of the device and account: the plist file inside: /private/var/root/Library/Lockdown/data_ark.plist has information about the device and the account holder of the device.
    2. Information about the account: the Sqlite database file inside: /private/var/mobile/Library/Accounts/Accounts3.sqlite has information about the used account. On the other hand, the plist file inside /private/var/mobile/Library/ DataAccess/AccountInformation.plist contains account’s information for that account which was responsible for setting up applications on the iOS device.
    3. Airplane Mode: the plist file located inside: /private/var/root/Library/Preferences/ has in fact information about the state of the iOS device in the present period whether airplane mode is enabled for it or it is disabled.
    4. List of installed applications: the plist file inside /private/var/mobile/Library/Caches/ has a complete list of all the applications which are installed on the iOS device. Also, a path to the files of each application is contained inside this plistfile as well. Mapping GUIDs to a specific application will be guided and undoubtedly aided by such valuable file.
    5. AppStore settings: the plist file inside /private/var/mobile/Library/Preferences/ plist contains the last search store, which could be a plus for identifying preferences of the iOS device user.
    6. Information of Configuration and Settings: the folder is having the following location of: /private/var/mobile/Library/preferences/ contains several plist files which have settings of Apple applications and configurations.
    7. Lockdown certificate Information: inside the folder of /private/var/root/Library/Lockdown/Pair_records/ there shall be existing all computers that are paired with the iOS device, and all the lockdown/pairing certificates as well.
    8. Information about the network: the plist file inside /private/ var/preferences/Systemconfiguration/ has some cached information about Internet Protocol (IP) networking such as devices like routers or network addressed and servers that were utilized by the iOS device in the past. Timestamps of such information are all available inside this exciting file.
    9. Notification log: the plist file inside/private/var/mobile/Library/BullitenBoard/ClearedSections.plist has a log of the notifications which were displayed inside the iOS device. This also extends to any cleared notifications of the device.
    10. Passwords: from iOS 7 till iOS 10, the following path to the mentioned database had the password contained and saved in there but definitely in an encrypted format yet it could also be cracked: /private/var/keychains/Keychain-2.db
    11. Information about the SIM card: inside the plist file which is located in: /private/var/wireless/Library/Preferences/ there resides several important data about the most recently used SIM card. In fact, ICCID and IMSI of the SIM are included in this plist file.
    12. Springboard: the order in which applications are displayed inside each screen of the iOS device is contained inside the plist file located in the following path: /private/var/mobile/Library/Preferences/
    13. System Logs: the folder where all the logs are contained of every activity performed on the iOS device is located inside: /private/var/logs/
    14. Wi-Fi Networks: the plist file inside /private/var/preferences/ SystemConfiguration/ has all the configured and familiar Wi-Fi Networks to the iOS device. Each of such Wi-Fi network has its timestamp which essentially indicates the timing of the connection to such network and some other important information could be gathered from this plist file as well.


Analysis of AddressBook and Call History data

Analysis of AddressBook and Call History data

  • Analysis of artifacts on iOS devices

Throughout the following paragraphs, I will be going through a discussion about the objects on an iOS device and their interpretation. That is regardless whether it was the user’s interaction that generated them or the device itself along with its features. However, most of the extracted artifacts will be of one of two main formats. These are either the .plist files used for the sake of configuration files or of SQL database file formats.

Let’s discuss the way in which data is stored on an iOS device in the very first place. The location where most of the data reside inside the iOS device is located inside /private/var/mobile or /User/ which is the symlink pointing to the same directory referred to before. To elaborate, /private/var/mobile/Application – /User/Application points to this actual path.

  • /User/Applications/######-####-####-####-########### – #: this actually gets the UUID for the device represented.
  • <Application_Home>/ inside this file, any bundle of the application on the iOS device get included. It is worth noting that such file does not get backed up.
  • <Application_Home>/Documents/: inside this folder, any data files which are to relate to applications on the iOS device get included there.
  • <Application_Home>/Library/: if any files are particular or specific for an application, they exist there inside this folder.
  • <Application_Home>/Library/Preferences/: any preference files that are there for applications, they will be all contained in this directory folder.
  • <Application_Home>/Library/Caches/ inside this folder, there exist any support files that are required specifically for a certain application. Such directory folder does not get backed up as well.
  • <Application_Home>/tmp/ any temporary files are contained there inside such folder.


  • AddressBook inside /private/var/mobile/Library/AddressBook addressbook

Investigating through the address book of an iOS device is a significant step. That is more so for an examiner when doing the investigation process. The importance of it could be simply summarized. That is in the fact that all personal contacts of a user will be clear and ready for investigation once the acquisition of his or her addressbook is undertaken successfully.

Several tables are residing inside the SQLite database file of addressbook named Addressbook.sqlitedb. In fact, there are two tables which are interesting for the sake of the investigation process essentially.

First of all, there is the table called ABPerson. It contains new files such as first name, last name, organization, notes, birthday, job title, nickname, prefix and more. There is a name for the index of this cool table. Such name is in fact ROWID.

Secondly, there is another cool table called ABMultiValue residing inside the addressbook database. Inside this new table, essential data about the stored contacts such as the used emails and phone numbers permanently stored inside an element of the table called “value.” That shall be linked to the user’s data and names found inside the other table of ABPerson. The index of the ABMultiValue table is called record_id.

From these points, I have to mention accordingly that there is a relationship between the ABPerson table and ABMultiValue table on one side, and all other tables inside the database on another team. In fact, such a relationship is of type one to many. That is where several tables are linked to ABPerson table and ABMultiValue table through the ROWID and record_id respectively.

  • Call history inside /private/var/Library/CallHistory

  • addressbook

A database file with the name of call_history.db is actually of great importance. It is particularly so when it comes to an examiner performing a forensic investigation on an iOS device of any kind. This database file will help an examiner get to understand and know the conducted cellular calls and have this data stored inside it.

There are in fact four main tables, and they are all of interest to an examiner. One of such tables is called the “call” table. Inside such table, there will be some exciting data such as the phone number, date, duration and reference ID of the contact.

It is crystal clear that the field of phone number will be responsible for displaying the phone numbers inside the call history. On the other hand, the date field comes at the time format of EPOC. As a result, this time format will need to get converted into an understandable time format. To elaborate, this form will display the number of seconds since the time of 00:00:00 UTC on 1 January 1970. The duration field is for sure relied on for the sake of getting to know the duration of time spent on such phone call with a specific phone number.

Another field is called the id field. The importance of such an area is that it has the id used for this number by the phone. Using this id, and attempting to link it to the id found in the addressbook, this number will be able to get grasped to belong to which contact name and so. However, sometimes such number is not listed inside the addressbook. Accordingly, this means that there is no id specified for it by the device. In this case, the field ID of will display a negative one value to indicate that there is no actual id stored for this phone number.

Last, there is another field residing inside the call table; it is a fact named as the flags field. What is the importance of such field then? This area is utilized for the sake of indicating whether the phone call conducted with a specific phone number was an outbound call or an incoming call. It is worth noting that it is the case that if the call was a received one, then number four will be used for the sake of getting this data identified. Number five, on the other hand, will be depended on to annotate that the call was an outbound one.