I want to List All Blogs and then all the Pages/Posts within each Site in Hierarchical Fashion

I want to create a Page Template that will list all Sites and then all pages and posts within each site of a multisite network. I'd like to do this in hierarchical fashion.

Example Multisite
- Post 1
- Post 2
- Post 3
- Page 1
-- Page 2
-- Page 3
--- Page 4

List pages don't seem to do this; I'd like to know how such a function can be created and would rather not use a plugin. I'd like to know for myself how it's done. =)

Seems like I'll need to query the DB to do this.

Any help is appreciated.